From 936d2231a71d3215446cbc58e434acad8c35305b Mon Sep 17 00:00:00 2001 From: realvictorprm Date: Sat, 15 Apr 2017 14:54:18 +0200 Subject: [PATCH] Fixed wrong recording of declaration order (#816) This is a bugfix for critical bug. With the fix the generation of the parser bindings should be nearly correct. Signed-off-by: Dimitar Dobrev --- .../CppSharp.CppParser.cs | 11822 +++++++-------- .../i686-pc-win32-msvc/CppSharp.CppParser.cs | 12322 ++++++++-------- .../CppSharp.CppParser.cs | 11810 +++++++-------- .../CppSharp.CppParser.cs | 11824 +++++++-------- .../x86_64-linux-gnu/CppSharp.CppParser.cs | 11818 +++++++-------- .../CppSharp.CppParser.cs | 11870 +++++++-------- src/CppParser/Parser.cpp | 2 +- src/Generator/Passes/RenamePass.cs | 3 +- 8 files changed, 35735 insertions(+), 35736 deletions(-) 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 abf30cf4..585e97a0 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 @@ -669,525 +669,569 @@ namespace CppSharp } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 104)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(16)] - public int lineNumberStart; - - [FieldOffset(20)] - public int lineNumberEnd; - - [FieldOffset(24)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(36)] - public global::Std.__1.BasicString.__Internal USR; - - [FieldOffset(48)] - public global::Std.__1.BasicString.__Internal DebugText; - - [FieldOffset(60)] - public byte isIncomplete; - - [FieldOffset(61)] public byte isDependent; - [FieldOffset(62)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(68)] - public uint definitionOrder; - - [FieldOffset(72)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; - - [FieldOffset(84)] - internal global::Std.__1.Vector.__Internal Redeclarations; - - [FieldOffset(96)] - public global::System.IntPtr originalPtr; - - [FieldOffset(100)] - public global::System.IntPtr comment; + [FieldOffset(8)] + public global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + internal static extern void cctor_2(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_0(global::System.IntPtr instance); + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TagType(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] - internal static extern global::System.IntPtr GetPreprocessedEntities_0(global::System.IntPtr instance, uint i); + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + { + return new TagType(native, skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] - internal static extern void AddPreprocessedEntities_0(global::System.IntPtr instance, global::System.IntPtr s); + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] - internal static extern void ClearPreprocessedEntities_0(global::System.IntPtr instance); + private TagType(global::CppSharp.Parser.AST.TagType.__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="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] - internal static extern global::System.IntPtr GetRedeclarations_0(global::System.IntPtr instance, uint i); + protected TagType(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="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] - internal static extern void AddRedeclarations_0(global::System.IntPtr instance, global::System.IntPtr s); + public TagType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] - internal static extern void ClearRedeclarations_0(global::System.IntPtr instance); + 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_2((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7getNameEv")] - internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc")] - internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6getUSREv")] - internal static extern global::System.IntPtr USR_0(global::System.IntPtr instance); + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6setUSREPKc")] - internal static extern void SetUSR_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(4)] + public byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv")] - internal static extern global::System.IntPtr DebugText_0(global::System.IntPtr instance); + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc")] - internal static extern void SetDebugText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(16)] + public global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + + [FieldOffset(20)] + public int size; + + [FieldOffset(24)] + public int elementSize; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] - internal static extern uint GetPreprocessedEntitiesCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] - internal static extern uint GetRedeclarationsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + internal static extern void cctor_2(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; + 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 Declaration(native.ToPointer(), skipVTables); + return new 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 Declaration(native, skipVTables); + return new 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_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(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_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__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)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - Dispose(disposing: true); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 virtual void Dispose(bool disposing) + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType = value; + } } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + public int Size { - var __ret = __Internal.GetPreprocessedEntities_0((__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)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size = value; + } } - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + public int ElementSize { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize = value; + } } + } - public void ClearPreprocessedEntities() + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 36)] + public new partial struct __Internal { - __Internal.ClearPreprocessedEntities_0((__Instance + __PointerAdjustment)); + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + public byte isDependent; + + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(16)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(20)] + public global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(24)] + internal global::Std.__1.Vector.__Internal Parameters; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] + internal static extern global::System.IntPtr GetParameters_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] + internal static extern uint GetParametersCount_0(global::System.IntPtr instance); } - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetRedeclarations_0((__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; + return new FunctionType(native.ToPointer(), skipVTables); } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__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.AddRedeclarations_0((__Instance + __PointerAdjustment), __arg0); + return new FunctionType(native, skipVTables); } - public void ClearRedeclarations() + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - __Internal.ClearRedeclarations_0((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - return new global::CppSharp.Parser.AST.Declaration(kind); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.DeclarationKind Kind + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind = value; - } + public FunctionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; - } + __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_1((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access = value; - } + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - 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; - } + var __ret = __Internal.GetParameters_0((__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; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.SourceLocation Location + public void ClearParameters() + { + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + } + + 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(((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 bool IsIncomplete + public uint ParametersCount { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete = (byte) (value ? 1 : 0); + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; } } + } - public bool IsDependent + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent = (byte) (value ? 1 : 0); - } - } + [FieldOffset(4)] + public byte isDependent; - public bool IsImplicit - { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; - } + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit = (byte) (value ? 1 : 0); - } - } + [FieldOffset(16)] + public global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration - { - 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; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - public uint DefinitionOrder + public enum TypeModifier { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder = value; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 } - public global::System.IntPtr OriginalPtr + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; - } + return new PointerType(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.RawComment Comment + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - 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; - } + return new PointerType(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public string Name + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - __Internal.SetName_0((__Instance + __PointerAdjustment), value); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public string USR + public PointerType() + : this((void*) null) { - get - { - var __ret = __Internal.USR_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - set - { - __Internal.SetUSR_0((__Instance + __PointerAdjustment), value); - } + 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_2((__Instance + __PointerAdjustment), __arg0); } - public string DebugText + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - var __ret = __Internal.DebugText_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee); } set { - __Internal.SetDebugText_0((__Instance + __PointerAdjustment), value); + ((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 uint PreprocessedEntitiesCount + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - var __ret = __Internal.GetPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } - } - public uint RedeclarationsCount - { - get + set { - var __ret = __Internal.GetRedeclarationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier = value; } } } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] @@ -1197,44 +1241,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr declaration; + public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TagType(native.ToPointer(), skipVTables); + return new MemberPointerType(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.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) { - return new TagType(native, skipVTables); + return new MemberPointerType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TagType(void* native, bool skipVTables = false) + protected MemberPointerType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1243,19 +1287,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TagType() + public MemberPointerType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TagType(global::CppSharp.Parser.AST.TagType _0) + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1264,28 +1308,23 @@ namespace CppSharp __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.QualifiedType Pointee { 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(((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee); } set { - ((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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 ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] @@ -1295,61 +1334,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(16)] - public global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(20)] - public int size; - - [FieldOffset(24)] - public int elementSize; + public global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - public enum ArraySize + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + return new TypedefType(native.ToPointer(), skipVTables); } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new ArrayType(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.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) { - return new ArrayType(native, skipVTables); + return new TypedefType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ArrayType(void* native, bool skipVTables = false) + protected TypedefType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1358,19 +1380,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ArrayType() + public TypedefType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1379,174 +1401,78 @@ namespace CppSharp __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 int Size - { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size = value; - } - } - - public int ElementSize + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + 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.ArrayType.__Internal*) __Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 124)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + public global::CppSharp.Parser.AST.QualifiedType.__Internal modified; [FieldOffset(16)] - public int lineNumberStart; - - [FieldOffset(20)] - public int lineNumberEnd; - - [FieldOffset(24)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(36)] - public global::Std.__1.BasicString.__Internal USR; - - [FieldOffset(48)] - public global::Std.__1.BasicString.__Internal DebugText; - - [FieldOffset(60)] - public byte isIncomplete; - - [FieldOffset(61)] - public byte isDependent; - - [FieldOffset(62)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(68)] - public uint definitionOrder; - - [FieldOffset(72)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; - - [FieldOffset(84)] - internal global::Std.__1.Vector.__Internal Redeclarations; - - [FieldOffset(96)] - public global::System.IntPtr originalPtr; - - [FieldOffset(100)] - public global::System.IntPtr comment; - - [FieldOffset(104)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(112)] - public byte isIndirect; - - [FieldOffset(113)] - public byte hasDefaultValue; - - [FieldOffset(116)] - public uint index; - - [FieldOffset(120)] - public global::System.IntPtr defaultArgument; + public global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Parameter(native.ToPointer(), skipVTables); + return new AttributedType(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.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) { - return new Parameter(native, skipVTables); + return new AttributedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Parameter(void* native, bool skipVTables = false) + protected AttributedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1555,111 +1481,57 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Parameter() + public AttributedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Parameter(global::CppSharp.Parser.AST.Parameter _0) + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue = (byte) (value ? 1 : 0); - } + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public global::CppSharp.Parser.AST.QualifiedType Modified { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified); } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index = value; + ((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; } } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public global::CppSharp.Parser.AST.QualifiedType Equivalent { 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; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent); } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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; } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -1669,78 +1541,50 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + public global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; [FieldOffset(16)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(20)] - public global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + public global::CppSharp.Parser.AST.QualifiedType.__Internal original; [FieldOffset(24)] - internal global::Std.__1.Vector.__Internal Parameters; + public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] - internal static extern global::System.IntPtr GetParameters_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] - internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.FunctionType __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 FunctionType(native.ToPointer(), skipVTables); + return new DecayedType(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.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new FunctionType(native, skipVTables); + return new DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__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 FunctionType(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1749,423 +1593,314 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionType() + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.QualifiedType Decayed { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed); } 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.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.CallingConvention CallingConvention + public global::CppSharp.Parser.AST.QualifiedType Original { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original); } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention = value; + ((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.ExceptionSpecType ExceptionSpecType + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee); } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType = value; - } - } - - public uint ParametersCount - { - get - { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); - return __ret; + ((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 unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateArgument : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 20)] - public new partial struct __Internal + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; [FieldOffset(4)] - public byte isDependent; + public global::CppSharp.Parser.AST.QualifiedType.__Internal type; - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + [FieldOffset(12)] + public global::System.IntPtr declaration; [FieldOffset(16)] - public global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + public int integral; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - public enum TypeModifier + public enum ArgumentKind { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - internal static new global::CppSharp.Parser.AST.PointerType __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.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new PointerType(native.ToPointer(), skipVTables); + return new TemplateArgument(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.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - return new PointerType(native, skipVTables); + return new TemplateArgument(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; return ret.ToPointer(); } - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PointerType(void* native, bool skipVTables = false) - : base((void*) null) + protected TemplateArgument(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PointerType() - : this((void*) null) + public TemplateArgument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public PointerType(global::CppSharp.Parser.AST.PointerType _0) - : this((void*) null) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__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_2((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee); + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->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; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind = value; } } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier + public global::CppSharp.Parser.AST.QualifiedType Type { get { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type); } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier = value; + ((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 unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Declaration Declaration { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + 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; + } - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + set + { + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] - internal static extern void cctor_2(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 MemberPointerType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) - { - return new 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_2(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_0((__Instance + __PointerAdjustment)); - } - - 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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType Pointee + public int Integral { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee); + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } 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.TemplateArgument.__Internal*) __Instance)->integral = value; } } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(16)] - public int lineNumberStart; + internal global::Std.__1.Vector.__Internal Arguments; [FieldOffset(20)] - public int lineNumberEnd; + public global::System.IntPtr _template; [FieldOffset(24)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(36)] - public global::Std.__1.BasicString.__Internal USR; - - [FieldOffset(48)] - public global::Std.__1.BasicString.__Internal DebugText; - - [FieldOffset(60)] - public byte isIncomplete; - - [FieldOffset(61)] - public byte isDependent; - - [FieldOffset(62)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(68)] - public uint definitionOrder; - - [FieldOffset(72)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(84)] - internal global::Std.__1.Vector.__Internal Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(96)] - public global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(100)] - public global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(104)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypedefNameDecl(native.ToPointer(), skipVTables); + return new TemplateSpecializationType(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.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new TypedefNameDecl(native, skipVTables); + return new TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__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 TypedefNameDecl(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2174,19 +1909,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2197,7 +1932,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -2205,28 +1940,70 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public global::CppSharp.Parser.AST.QualifiedType 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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType); + 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.TypedefNameDecl.__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.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(((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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { [FieldOffset(0)] @@ -2236,44 +2013,72 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr declaration; + internal global::Std.__1.Vector.__Internal Arguments; + + [FieldOffset(20)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new TypedefType(native.ToPointer(), skipVTables); - } + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) - { - return new TypedefType(native, skipVTables); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + { + return new 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_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__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 TypedefType(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2282,47 +2087,81 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefType() + public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared { 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.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal @@ -2334,47 +2173,58 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + public global::System.IntPtr parameter; + + [FieldOffset(12)] + public uint depth; [FieldOffset(16)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + public uint index; + + [FieldOffset(20)] + public byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + internal static extern void dtor_0(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.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new AttributedType(native.ToPointer(), skipVTables); + return new TemplateParameterType(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.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new AttributedType(native, skipVTables); + return new TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__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 AttributedType(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2383,57 +2233,98 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified); + 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.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.TemplateParameterType.__Internal*) __Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public uint Depth { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent); + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; } 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.TemplateParameterType.__Internal*) __Instance)->depth = value; + } + } + + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index = value; + } + } + + public bool IsParameterPack + { + get + { + 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 DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] @@ -2443,50 +2334,47 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + public global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; [FieldOffset(16)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal original; - - [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + public global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DecayedType __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 DecayedType(native.ToPointer(), skipVTables); + return new TemplateParameterSubstitutionType(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.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new DecayedType(native, skipVTables); + return new TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__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 DecayedType(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2495,19 +2383,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2516,343 +2404,375 @@ namespace CppSharp __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed + public global::CppSharp.Parser.AST.QualifiedType Replacement { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement); } 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; + ((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.QualifiedType Original - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee); + 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.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.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TemplateArgument : IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 20)] - public partial struct __Internal + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal type; + public byte isDependent; - [FieldOffset(12)] - public global::System.IntPtr declaration; + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; [FieldOffset(16)] - public int integral; + public global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] - internal static extern void cctor_1(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 + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] + internal static extern void cctor_2(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.TemplateArgument __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 TemplateArgument(native.ToPointer(), skipVTables); + return new InjectedClassNameType(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.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new TemplateArgument(native, skipVTables); + return new InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__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.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__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 TemplateArgument(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public InjectedClassNameType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__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) - { - global::CppSharp.Parser.AST.TemplateArgument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__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_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType); } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind = value; + ((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 global::CppSharp.Parser.AST.QualifiedType Type + public global::CppSharp.Parser.AST.Class Class { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type); + 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.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.InjectedClassNameType.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } + } - public global::CppSharp.Parser.AST.Declaration Declaration + public unsafe partial class DependentNameType : 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.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; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [FieldOffset(4)] + public byte isDependent; + + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - public int Integral + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new DependentNameType(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + { + return new DependentNameType(native, skipVTables); + } + + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentNameType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentNameType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + 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_2((__Instance + __PointerAdjustment), __arg0); + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral = value; + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; + public byte isDependent; - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(16)] - public int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(20)] - public int lineNumberEnd; + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new PackExpansionType(native.ToPointer(), skipVTables); + } - [FieldOffset(24)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(36)] - public global::Std.__1.BasicString.__Internal USR; - - [FieldOffset(48)] - public global::Std.__1.BasicString.__Internal DebugText; - - [FieldOffset(60)] - public byte isIncomplete; - - [FieldOffset(61)] - public byte isDependent; - - [FieldOffset(62)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(68)] - public uint definitionOrder; - - [FieldOffset(72)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; - - [FieldOffset(84)] - internal global::Std.__1.Vector.__Internal Redeclarations; - - [FieldOffset(96)] - public global::System.IntPtr originalPtr; + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + { + return new PackExpansionType(native, skipVTables); + } - [FieldOffset(100)] - public global::System.IntPtr comment; + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(104)] - public global::System.IntPtr TemplatedDecl; + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(108)] - internal global::Std.__1.Vector.__Internal Parameters; + protected PackExpansionType(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="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + public PackExpansionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] - internal static extern void ctor_1(global::System.IntPtr instance); + 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_2((__Instance + __PointerAdjustment), __arg0); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] - internal static extern void cctor_3(global::System.IntPtr instance, global::System.IntPtr _0); + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + [FieldOffset(4)] + public byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] - internal static extern global::System.IntPtr GetParameters_0(global::System.IntPtr instance, uint i); + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] - internal static extern void AddParameters_0(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(16)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] - internal static extern void ClearParameters_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] - internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.Template __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 Template(native.ToPointer(), skipVTables); + return new UnaryTransformType(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.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) { - return new Template(native, skipVTables); + return new UnaryTransformType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor_3(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__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 Template(void* native, bool skipVTables = false) + protected UnaryTransformType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2861,106 +2781,57 @@ namespace CppSharp __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_0((__Instance + __PointerAdjustment), kind); - } - - public Template() + public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_1((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Template(global::CppSharp.Parser.AST.Template _0) + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__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_3((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__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); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public global::CppSharp.Parser.AST.QualifiedType Desugared { 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.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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 uint ParametersCount + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType); + } + + 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; } } } - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] @@ -2970,75 +2841,47 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - internal global::Std.__1.Vector.__Internal Arguments; - - [FieldOffset(20)] - public global::System.IntPtr _template; + public global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(16)] + public uint numElements; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + internal static extern void cctor_2(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_0(global::System.IntPtr instance); + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new VectorType(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments_0(global::System.IntPtr @return, 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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new TemplateSpecializationType(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.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) { - return new TemplateSpecializationType(native, skipVTables); + return new VectorType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) + protected VectorType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -3047,101 +2890,57 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() + public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Template Template + public global::CppSharp.Parser.AST.QualifiedType ElementType { 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.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType); } set { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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; } } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public uint NumElements { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared); + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; } 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_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements = value; } } } - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] @@ -3151,72 +2950,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - internal global::Std.__1.Vector.__Internal Arguments; - - [FieldOffset(20)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + public global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new BuiltinType(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.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) { - return new DependentTemplateSpecializationType(native, skipVTables); + return new BuiltinType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + protected BuiltinType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -3225,330 +2996,273 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentTemplateSpecializationType() + public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public global::CppSharp.Parser.AST.PrimitiveType Type { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared); + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; } 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_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type = value; } } } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class VTableComponent : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 124)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.VTableComponentKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public uint offset; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + public global::System.IntPtr declaration; - [FieldOffset(16)] - public int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(20)] - public int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(24)] - public global::Std.__1.BasicString.__Internal Name; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(36)] - public global::Std.__1.BasicString.__Internal USR; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [FieldOffset(48)] - public global::Std.__1.BasicString.__Internal DebugText; + protected bool __ownsNativeInstance; - [FieldOffset(60)] - public byte isIncomplete; - - [FieldOffset(61)] - public byte isDependent; - - [FieldOffset(62)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(68)] - public uint definitionOrder; - - [FieldOffset(72)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; - - [FieldOffset(84)] - internal global::Std.__1.Vector.__Internal Redeclarations; - - [FieldOffset(96)] - public global::System.IntPtr originalPtr; - - [FieldOffset(100)] - public global::System.IntPtr comment; - - [FieldOffset(104)] - public uint depth; - - [FieldOffset(108)] - public uint index; - - [FieldOffset(112)] - public byte isParameterPack; - - [FieldOffset(116)] - public 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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypeTemplateParameter(native.ToPointer(), skipVTables); + return new VTableComponent(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.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - return new TypeTemplateParameter(native, skipVTables); + return new VTableComponent(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(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 TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__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 TypeTemplateParameter(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 TypeTemplateParameter() - : this((void*) null) + public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__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_1((__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() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VTableComponent __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public global::CppSharp.Parser.AST.VTableComponentKind Kind { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; } 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.VTableComponent.__Internal*) __Instance)->kind = value; } } - } - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal + public uint Offset { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + } - [FieldOffset(8)] - public global::System.IntPtr parameter; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset = value; + } + } - [FieldOffset(12)] - public uint depth; + 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(16)] - public uint index; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(20)] - public byte isParameterPack; + public unsafe partial class VTableLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.__1.Vector.__Internal Components; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] + internal static extern void GetComponents_0(global::System.IntPtr @return, 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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] + internal static extern uint GetComponentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __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 TemplateParameterType(native.ToPointer(), skipVTables); + return new VTableLayout(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.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) { - return new TemplateParameterType(native, skipVTables); + return new VTableLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__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 TemplateParameterType(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 TemplateParameterType() - : this((void*) null) + public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) - : this((void*) null) + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3557,9 +3271,14 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Type __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VTableLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -3567,1588 +3286,293 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter + public global::CppSharp.Parser.AST.VTableComponent GetComponents(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; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); + __Internal.GetComponents_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); } - public uint Depth + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth = value; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public void ClearComponents() { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index = value; - } + __Internal.ClearComponents_0((__Instance + __PointerAdjustment)); } - public bool IsParameterPack + public uint ComponentsCount { 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.GetComponentsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VFTableInfo : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 28)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + public ulong VBTableIndex; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + public uint VFPtrOffset; + + [FieldOffset(12)] + public uint VFPtrFullOffset; [FieldOffset(16)] - public global::System.IntPtr replacedParameter; + public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __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 TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new VFTableInfo(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.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - return new TemplateParameterSubstitutionType(native, skipVTables); + return new VFTableInfo(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__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 TemplateParameterSubstitutionType(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 TemplateParameterSubstitutionType() - : this((void*) null) + public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) - : this((void*) null) + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VFTableInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public ulong VBTableIndex { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement); + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; } 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; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex = value; } } - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public uint VFPtrOffset { 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; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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(((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 Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class LayoutField : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 292)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 28)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public uint offset; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + public global::Std.__1.BasicString.__Internal Name; [FieldOffset(16)] - public int lineNumberStart; - - [FieldOffset(20)] - public int lineNumberEnd; + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(24)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(36)] - public global::Std.__1.BasicString.__Internal USR; + public global::System.IntPtr fieldPtr; - [FieldOffset(48)] - public global::Std.__1.BasicString.__Internal DebugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(60)] - public byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr other); - [FieldOffset(61)] - public byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(62)] - public byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7getNameEv")] + internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7setNameEPKc")] + internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } - [FieldOffset(68)] - public uint definitionOrder; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(72)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [FieldOffset(84)] - internal global::Std.__1.Vector.__Internal Redeclarations; + protected bool __ownsNativeInstance; - [FieldOffset(96)] - public global::System.IntPtr originalPtr; + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new LayoutField(native.ToPointer(), skipVTables); + } - [FieldOffset(100)] - public global::System.IntPtr comment; + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + { + return new LayoutField(native, skipVTables); + } - [FieldOffset(104)] - internal global::Std.__1.Vector.__Internal Namespaces; + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(116)] - internal global::Std.__1.Vector.__Internal Enums; + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal Functions; - - [FieldOffset(140)] - internal global::Std.__1.Vector.__Internal Classes; - - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Templates; - - [FieldOffset(164)] - internal global::Std.__1.Vector.__Internal Typedefs; - - [FieldOffset(176)] - internal global::Std.__1.Vector.__Internal TypeAliases; - - [FieldOffset(188)] - internal global::Std.__1.Vector.__Internal Variables; - - [FieldOffset(200)] - internal global::Std.__1.Vector.__Internal Friends; - - [FieldOffset(212)] - internal global::Std.__1.Map.__Internal anonymous; - - [FieldOffset(224)] - public byte isAnonymous; - - [FieldOffset(228)] - internal global::Std.__1.Vector.__Internal Bases; - - [FieldOffset(240)] - internal global::Std.__1.Vector.__Internal Fields; - - [FieldOffset(252)] - internal global::Std.__1.Vector.__Internal Methods; - - [FieldOffset(264)] - internal global::Std.__1.Vector.__Internal Specifiers; - - [FieldOffset(276)] - public byte isPOD; - - [FieldOffset(277)] - public byte isAbstract; - - [FieldOffset(278)] - public byte isUnion; - - [FieldOffset(279)] - public byte isDynamic; - - [FieldOffset(280)] - public byte isPolymorphic; - - [FieldOffset(281)] - public byte hasNonTrivialDefaultConstructor; - - [FieldOffset(282)] - public byte hasNonTrivialCopyConstructor; - - [FieldOffset(283)] - public byte hasNonTrivialDestructor; - - [FieldOffset(284)] - public byte isExternCContext; - - [FieldOffset(285)] - public byte isInjected; - - [FieldOffset(288)] - public global::System.IntPtr layout; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] - internal static extern global::System.IntPtr GetBases_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] - internal static extern global::System.IntPtr GetFields_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] - internal static extern global::System.IntPtr GetMethods_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] - internal static extern global::System.IntPtr GetSpecifiers_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] - internal static extern uint GetBasesCount_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] - internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] - internal static extern uint GetMethodsCount_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] - internal static extern uint GetSpecifiersCount_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new Class(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) - { - return new 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) - { - var __ret = __Internal.GetBases_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBases() - { - __Internal.ClearBases_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Field GetFields(uint i) - { - var __ret = __Internal.GetFields_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFields() - { - __Internal.ClearFields_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Method GetMethods(uint i) - { - var __ret = __Internal.GetMethods_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMethods() - { - __Internal.ClearMethods_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) - { - var __ret = __Internal.GetSpecifiers_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecifiers() - { - __Internal.ClearSpecifiers_0((__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_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint MethodsCount - { - get - { - var __ret = __Internal.GetMethodsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint SpecifiersCount - { - get - { - var __ret = __Internal.GetSpecifiersCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - - [FieldOffset(16)] - public global::System.IntPtr _class; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new InjectedClassNameType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) - { - return new InjectedClassNameType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected InjectedClassNameType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public InjectedClassNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.Class Class - { - 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 DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new DependentNameType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - { - return new DependentNameType(native, skipVTables); - } - - 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_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected DependentNameType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public DependentNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - 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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared); - } - - set - { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } - - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] - internal static extern void cctor_2(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 PackExpansionType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - { - return new 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_2(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_0((__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_2((__Instance + __PointerAdjustment), __arg0); - } - } - - public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [FieldOffset(16)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new UnaryTransformType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) - { - return new UnaryTransformType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected UnaryTransformType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public UnaryTransformType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.QualifiedType BaseType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType); - } - - 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; - } - } - } - - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - - [FieldOffset(16)] - public uint numElements; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new VectorType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) - { - return new VectorType(native, skipVTables); - } - - 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_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VectorType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public VectorType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - 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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType ElementType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType); - } - - 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; - } - } - - public uint NumElements - { - get - { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; - } - - set - { - ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements = value; - } - } - } - - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.PrimitiveType type; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] - internal static extern void cctor_2(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 BuiltinType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - { - return new 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_2(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_0((__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_2((__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 VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.VTableComponentKind kind; - - [FieldOffset(4)] - public uint offset; - - [FieldOffset(8)] - public global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] - internal static extern void cctor_1(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 VTableComponent(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) - { - return new 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_0((__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) - { - global::CppSharp.Parser.AST.VTableComponent __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - 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 VTableLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.__1.Vector.__Internal Components; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] - internal static extern void GetComponents_0(global::System.IntPtr @return, 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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] - internal static extern uint GetComponentsCount_0(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 VTableLayout(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - { - return new 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_1(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) + protected LayoutField(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableLayout() + public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__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_1((__Instance + __PointerAdjustment), __arg0); } @@ -5159,7 +3583,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.VTableLayout __dummy; + global::CppSharp.Parser.AST.LayoutField __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5167,124 +3591,142 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) + public uint Offset { - var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); - __Internal.GetComponents_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset = value; + } } - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) + public global::CppSharp.Parser.AST.QualifiedType 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 void ClearComponents() + public global::System.IntPtr FieldPtr { - __Internal.ClearComponents_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr = (global::System.IntPtr) value; + } } - public uint ComponentsCount + public string Name { get { - var __ret = __Internal.GetComponentsCount_0((__Instance + __PointerAdjustment)); - return __ret; + var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetName_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class VFTableInfo : IDisposable + public unsafe partial class LayoutBase : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { [FieldOffset(0)] - public ulong VBTableIndex; - - [FieldOffset(8)] - public uint VFPtrOffset; - - [FieldOffset(12)] - public uint VFPtrFullOffset; + public uint offset; - [FieldOffset(16)] - public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + [FieldOffset(4)] + public global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] internal static extern void dtor_0(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.VFTableInfo __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 VFTableInfo(native.ToPointer(), skipVTables); + return new LayoutBase(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.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new VFTableInfo(native, skipVTables); + return new LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__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 VFTableInfo(void* native, bool skipVTables = false) + protected LayoutBase(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VFTableInfo() + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__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_1((__Instance + __PointerAdjustment), __arg0); } @@ -5295,7 +3737,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.VFTableInfo __dummy; + global::CppSharp.Parser.AST.LayoutBase __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5303,158 +3745,205 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - 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 + public uint Offset { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset = value; + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset = value; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public global::CppSharp.Parser.AST.Class Class { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout); + 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.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.LayoutBase.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class LayoutField : IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public partial struct __Internal { [FieldOffset(0)] - public uint offset; + public global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(4)] - public global::Std.__1.BasicString.__Internal Name; + internal global::Std.__1.Vector.__Internal VFTables; [FieldOffset(16)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - [FieldOffset(24)] - public global::System.IntPtr fieldPtr; + [FieldOffset(28)] + public byte hasOwnVFPtr; + + [FieldOffset(32)] + public int VBPtrOffset; + + [FieldOffset(36)] + public int alignment; + + [FieldOffset(40)] + public int size; + + [FieldOffset(44)] + public int dataSize; + + [FieldOffset(48)] + internal global::Std.__1.Vector.__Internal Fields; + + [FieldOffset(60)] + internal global::Std.__1.Vector.__Internal Bases; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr other); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7getNameEv")] - internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] + internal static extern void GetVFTables_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] + internal static extern void GetFields_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] + internal static extern void GetBases_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] + internal static extern uint GetVFTablesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] + internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7setNameEPKc")] - internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] + internal static extern uint GetBasesCount_0(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.LayoutField __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 LayoutField(native.ToPointer(), skipVTables); + return new ClassLayout(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.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new LayoutField(native, skipVTables); + return new ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__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 LayoutField(void* native, bool skipVTables = false) + protected ClassLayout(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutField() + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__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_1((__Instance + __PointerAdjustment), __arg0); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -5464,7 +3953,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.LayoutField __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5472,359 +3961,386 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public uint Offset + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + { + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVFTables() + { + __Internal.ClearVFTables_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.CppAbi ABI { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset = value; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI = value; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType); + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout); } 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.ClassLayout.__Internal*) __Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } - public global::System.IntPtr FieldPtr + public bool HasOwnVFPtr { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); } } - public string Name + public int VBPtrOffset { get { - var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; } set { - __Internal.SetName_0((__Instance + __PointerAdjustment), value); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset = value; } } - } - - public unsafe partial class LayoutBase : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public partial struct __Internal - { - [FieldOffset(0)] - public uint offset; - - [FieldOffset(4)] - public global::System.IntPtr _class; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] - internal static extern void cctor_1(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_0(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 LayoutBase(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) - { - return new 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_1(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() + public int Alignment { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + } - 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_1((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment = value; + } } - public void Dispose() + public int Size { - Dispose(disposing: true); - } + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + } - public virtual void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.LayoutBase __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size = value; + } } - public uint Offset + public int DataSize { get { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset = value; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize = value; + } + } + + public uint VFTablesCount + { + get + { + var __ret = __Internal.GetVFTablesCount_0((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.Class Class + public uint FieldsCount { 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; + var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint BasesCount + { + get { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class ClassLayout : IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.CppAbi ABI; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal global::Std.__1.Vector.__Internal VFTables; + public global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(16)] - public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + [FieldOffset(8)] + public global::System.IntPtr _namespace; - [FieldOffset(28)] - public byte hasOwnVFPtr; + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(32)] - public int VBPtrOffset; + [FieldOffset(16)] + public int lineNumberStart; - [FieldOffset(36)] - public int alignment; + [FieldOffset(20)] + public int lineNumberEnd; - [FieldOffset(40)] - public int size; + [FieldOffset(24)] + public global::Std.__1.BasicString.__Internal Name; - [FieldOffset(44)] - public int dataSize; + [FieldOffset(36)] + public global::Std.__1.BasicString.__Internal USR; [FieldOffset(48)] - internal global::Std.__1.Vector.__Internal Fields; + public global::Std.__1.BasicString.__Internal DebugText; [FieldOffset(60)] - internal global::Std.__1.Vector.__Internal Bases; + public byte isIncomplete; + + [FieldOffset(61)] + public byte isDependent; + + [FieldOffset(62)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(68)] + public uint definitionOrder; + + [FieldOffset(72)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(84)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(96)] + public global::System.IntPtr originalPtr; + + [FieldOffset(100)] + public global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] - internal static extern void GetVFTables_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] + internal static extern global::System.IntPtr GetPreprocessedEntities_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] + internal static extern void AddPreprocessedEntities_0(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_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] + internal static extern void ClearPreprocessedEntities_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] - internal static extern void GetFields_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] + internal static extern global::System.IntPtr GetRedeclarations_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] + internal static extern void AddRedeclarations_0(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_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] + internal static extern void ClearRedeclarations_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] - internal static extern void GetBases_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7getNameEv")] + internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] - internal static extern void AddBases_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc")] + internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] - internal static extern void ClearBases_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6getUSREv")] + internal static extern global::System.IntPtr USR_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] - internal static extern uint GetVFTablesCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6setUSREPKc")] + internal static extern void SetUSR_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] - internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv")] + internal static extern global::System.IntPtr DebugText_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] - internal static extern uint GetBasesCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc")] + internal static extern void SetDebugText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] + internal static extern uint GetPreprocessedEntitiesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] + internal static extern uint GetRedeclarationsCount_0(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.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new ClassLayout(native.ToPointer(), skipVTables); + return new Declaration(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.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new ClassLayout(native, skipVTables); + return new Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__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 ClassLayout(void* native, bool skipVTables = false) + protected Declaration(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassLayout() + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -5834,7 +4350,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.ClassLayout __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5842,180 +4358,299 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); + var __ret = __Internal.GetPreprocessedEntities_0((__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 AddVFTables(global::CppSharp.Parser.AST.VFTableInfo 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.AddVFTables_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearPreprocessedEntities() + { + __Internal.ClearPreprocessedEntities_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations_0((__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 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 void ClearVFTables() + public global::CppSharp.Parser.AST.DeclarationContext Namespace { - __Internal.ClearVFTables_0((__Instance + __PointerAdjustment)); - } + 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; + } - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + public global::CppSharp.Parser.SourceLocation Location { - 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_0((__Instance + __PointerAdjustment), __arg0); + 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 void ClearFields() + public int LineNumberStart { - __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart = value; + } } - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + public int LineNumberEnd { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd = value; + } } - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + public bool IsIncomplete { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete = (byte) (value ? 1 : 0); + } } - public void ClearBases() + public bool IsDependent { - __Internal.ClearBases_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.CppAbi ABI + public bool IsImplicit { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout); + 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.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.Declaration.__Internal*) __Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool HasOwnVFPtr + public uint DefinitionOrder { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder = value; } } - public int VBPtrOffset + public global::System.IntPtr OriginalPtr { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; } } - public int Alignment + public global::CppSharp.Parser.AST.RawComment Comment { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + 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.ClassLayout.__Internal*) __Instance)->alignment = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public int Size + public string Name { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size = value; + __Internal.SetName_0((__Instance + __PointerAdjustment), value); } } - public int DataSize + public string USR { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + var __ret = __Internal.USR_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize = value; + __Internal.SetUSR_0((__Instance + __PointerAdjustment), value); } } - public uint VFTablesCount + public string DebugText { get { - var __ret = __Internal.GetVFTablesCount_0((__Instance + __PointerAdjustment)); - return __ret; + var __ret = __Internal.DebugText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetDebugText_0((__Instance + __PointerAdjustment), value); } } - public uint FieldsCount + public uint PreprocessedEntitiesCount { get { - var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment)); return __ret; } } - public uint BasesCount + public uint RedeclarationsCount { get { - var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetRedeclarationsCount_0((__Instance + __PointerAdjustment)); return __ret; } } @@ -6689,109 +5324,130 @@ namespace CppSharp } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.RawCommentKind kind; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - public global::Std.__1.BasicString.__Internal Text; + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; [FieldOffset(16)] - public global::Std.__1.BasicString.__Internal BriefText; + public int lineNumberStart; - [FieldOffset(28)] - public global::System.IntPtr fullCommentBlock; + [FieldOffset(20)] + public int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + [FieldOffset(24)] + public global::Std.__1.BasicString.__Internal Name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(36)] + public global::Std.__1.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + [FieldOffset(48)] + public global::Std.__1.BasicString.__Internal DebugText; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7getTextEv")] - internal static extern global::System.IntPtr Text_0(global::System.IntPtr instance); + [FieldOffset(60)] + public byte isIncomplete; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc")] - internal static extern void SetText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(61)] + public byte isDependent; + + [FieldOffset(62)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(68)] + public uint definitionOrder; + + [FieldOffset(72)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(84)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(96)] + public global::System.IntPtr originalPtr; + + [FieldOffset(100)] + public global::System.IntPtr comment; + + [FieldOffset(104)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv")] - internal static extern global::System.IntPtr BriefText_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc")] - internal static extern void SetBriefText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - } - - 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; + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.RawComment __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 RawComment(native.ToPointer(), skipVTables); + return new TypedefNameDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__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 RawComment(native, skipVTables); + return new TypedefNameDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__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 RawComment(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 RawComment() + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6800,14 +5456,9 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -6815,202 +5466,171 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - 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 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; - } - } - - public string Text + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - var __ret = __Internal.Text_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } - - set - { - __Internal.SetText_0((__Instance + __PointerAdjustment), value); - } + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } - public string BriefText + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - var __ret = __Internal.BriefText_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType); } set { - __Internal.SetBriefText_0((__Instance + __PointerAdjustment), 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 PreprocessedEntity : IDisposable + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.MacroLocation macroLocation; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - public global::System.IntPtr originalPtr; + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(16)] + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(36)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(60)] + public byte isIncomplete; + + [FieldOffset(61)] + public byte isDependent; + + [FieldOffset(62)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(68)] + public uint definitionOrder; + + [FieldOffset(72)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(84)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(96)] + public global::System.IntPtr originalPtr; + + [FieldOffset(100)] + public global::System.IntPtr comment; + + [FieldOffset(104)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] internal static extern void cctor_1(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="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __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 PreprocessedEntity(native.ToPointer(), skipVTables); + return new TypedefDecl(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.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new PreprocessedEntity(native, skipVTables); + return new TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__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.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__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 PreprocessedEntity(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TypedefDecl() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__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) - { - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.MacroLocation MacroLocation - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation = value; - } - } - - public global::System.IntPtr OriginalPtr - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; - } + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.DeclarationKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind = value; - } + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 252)] + [StructLayout(LayoutKind.Explicit, Size = 116)] public new partial struct __Internal { [FieldOffset(0)] @@ -7068,302 +5688,213 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(104)] - internal global::Std.__1.Vector.__Internal Namespaces; - - [FieldOffset(116)] - internal global::Std.__1.Vector.__Internal Enums; - - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal Functions; - - [FieldOffset(140)] - internal global::Std.__1.Vector.__Internal Classes; - - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Templates; - - [FieldOffset(164)] - internal global::Std.__1.Vector.__Internal Typedefs; - - [FieldOffset(176)] - internal global::Std.__1.Vector.__Internal TypeAliases; - - [FieldOffset(188)] - internal global::Std.__1.Vector.__Internal Variables; - - [FieldOffset(200)] - internal global::Std.__1.Vector.__Internal Friends; - - [FieldOffset(212)] - internal global::Std.__1.Map.__Internal anonymous; - - [FieldOffset(224)] - public byte isAnonymous; - - [FieldOffset(228)] - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; - - [FieldOffset(232)] - public global::System.IntPtr type; - - [FieldOffset(236)] - public global::System.IntPtr builtinType; + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(240)] - internal global::Std.__1.Vector.__Internal Items; + [FieldOffset(112)] + public global::System.IntPtr describedAliasTemplate; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] - internal static extern global::System.IntPtr GetItems_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] - internal static extern void ClearItems_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] - internal static extern uint GetItemsCount_0(global::System.IntPtr instance); } - [Flags] - public enum EnumModifiers + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Anonymous = 1, - Scoped = 2, - Flags = 4 + return new TypeAlias(native.ToPointer(), skipVTables); } - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) { - [StructLayout(LayoutKind.Explicit, Size = 124)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(16)] - public int lineNumberStart; - - [FieldOffset(20)] - public int lineNumberEnd; - - [FieldOffset(24)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(36)] - public global::Std.__1.BasicString.__Internal USR; - - [FieldOffset(48)] - public global::Std.__1.BasicString.__Internal DebugText; + return new TypeAlias(native, skipVTables); + } - [FieldOffset(60)] - public byte isIncomplete; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(61)] - public byte isDependent; + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(62)] - public byte isImplicit; + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; + public TypeAlias() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(68)] - public uint definitionOrder; + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) + { + __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_1((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(72)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - [FieldOffset(84)] - internal global::Std.__1.Vector.__Internal Redeclarations; + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + { + 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; + } - [FieldOffset(96)] - public global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(100)] - public global::System.IntPtr comment; + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 108)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(104)] - public global::Std.__1.BasicString.__Internal Expression; + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(116)] - public ulong value; + [FieldOffset(8)] + public global::System.IntPtr _namespace; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(16)] + public int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + [FieldOffset(20)] + public int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv")] - internal static extern global::System.IntPtr Expression_0(global::System.IntPtr instance); + [FieldOffset(24)] + public global::Std.__1.BasicString.__Internal Name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc")] - internal static extern void SetExpression_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - } + [FieldOffset(36)] + public global::Std.__1.BasicString.__Internal USR; - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new Item(native.ToPointer(), skipVTables); - } + [FieldOffset(48)] + public global::Std.__1.BasicString.__Internal DebugText; - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new Item(native, skipVTables); - } + [FieldOffset(60)] + public byte isIncomplete; - 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_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(61)] + public byte isDependent; - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(62)] + public byte isImplicit; - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + [FieldOffset(68)] + public uint definitionOrder; - 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_1((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(72)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } + [FieldOffset(84)] + internal global::Std.__1.Vector.__Internal Redeclarations; - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } + [FieldOffset(96)] + public global::System.IntPtr originalPtr; - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value = value; - } - } + [FieldOffset(100)] + public global::System.IntPtr comment; - public string Expression - { - get - { - var __ret = __Internal.Expression_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + [FieldOffset(104)] + public global::System.IntPtr declaration; - set - { - __Internal.SetExpression_0((__Instance + __PointerAdjustment), value); - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Enumeration __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 Enumeration(native.ToPointer(), skipVTables); + return new Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__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 Enumeration(native, skipVTables); + return new Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__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 Enumeration(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7372,19 +5903,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Enumeration() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7403,293 +5934,321 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + public global::CppSharp.Parser.AST.Declaration Declaration { - var __ret = __Internal.GetItems_0((__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 + { + 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 void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + public unsafe partial class Statement : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + 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.AddItems_0((__Instance + __PointerAdjustment), __arg0); + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(4)] + public global::System.IntPtr decl; + + [FieldOffset(8)] + public global::Std.__1.BasicString.__Internal String; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + internal static extern void cctor_2(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9getStringEv")] + internal static extern global::System.IntPtr String_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9setStringEPKc")] + internal static extern void SetString_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } + + 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 Statement(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + { + return new 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_2(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(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_2((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); } - public void ClearItems() + public virtual void Dispose(bool disposing) { - __Internal.ClearItems_0((__Instance + __PointerAdjustment)); + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers + public global::CppSharp.Parser.AST.StatementClass Class { get { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; + return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers = value; + ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class = value; } } - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.Declaration Decl { 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); + 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.Enumeration.__Internal*) __Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.BuiltinType BuiltinType + public string String { 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; + var __ret = __Internal.String_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } 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_0((__Instance + __PointerAdjustment)); - return __ret; + __Internal.SetString_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 196)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::System.IntPtr decl; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(16)] - public int lineNumberStart; - - [FieldOffset(20)] - public int lineNumberEnd; - - [FieldOffset(24)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(36)] - public global::Std.__1.BasicString.__Internal USR; - - [FieldOffset(48)] - public global::Std.__1.BasicString.__Internal DebugText; - - [FieldOffset(60)] - public byte isIncomplete; - - [FieldOffset(61)] - public byte isDependent; - - [FieldOffset(62)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(68)] - public uint definitionOrder; - - [FieldOffset(72)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; - - [FieldOffset(84)] - internal global::Std.__1.Vector.__Internal Redeclarations; - - [FieldOffset(96)] - public global::System.IntPtr originalPtr; - - [FieldOffset(100)] - public global::System.IntPtr comment; - - [FieldOffset(104)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(112)] - public byte isReturnIndirect; - - [FieldOffset(113)] - public byte hasThisReturn; - - [FieldOffset(114)] - public byte isConstExpr; - - [FieldOffset(115)] - public byte isVariadic; - - [FieldOffset(116)] - public byte isInline; - - [FieldOffset(117)] - public byte isPure; - - [FieldOffset(118)] - public byte isDeleted; - - [FieldOffset(120)] - public global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(124)] - public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(128)] - public global::Std.__1.BasicString.__Internal Mangled; - - [FieldOffset(140)] - public global::Std.__1.BasicString.__Internal Signature; - - [FieldOffset(152)] - public global::Std.__1.BasicString.__Internal Body; - - [FieldOffset(164)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(168)] - internal global::Std.__1.Vector.__Internal Parameters; - - [FieldOffset(180)] - public global::System.IntPtr specializationInfo; - - [FieldOffset(184)] - public global::System.IntPtr instantiatedFrom; - - [FieldOffset(188)] - public 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_0(global::System.IntPtr instance); + public global::Std.__1.BasicString.__Internal String; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] - internal static extern global::System.IntPtr GetParameters_0(global::System.IntPtr instance, uint i); + internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Expression(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters_0(global::System.IntPtr instance, global::System.IntPtr s); + internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + { + return new Expression(native, skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] - internal static extern void ClearParameters_0(global::System.IntPtr instance); + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function10getMangledEv")] - internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + private Expression(global::CppSharp.Parser.AST.Expression.__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="_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc")] - internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + protected Expression(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + 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_1((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + } + + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(4)] + public global::System.IntPtr decl; + + [FieldOffset(8)] + public global::Std.__1.BasicString.__Internal String; + + [FieldOffset(20)] + public global::System.IntPtr LHS; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function12getSignatureEv")] - internal static extern global::System.IntPtr Signature_0(global::System.IntPtr instance); + [FieldOffset(24)] + public global::System.IntPtr RHS; + + [FieldOffset(28)] + public global::Std.__1.BasicString.__Internal OpcodeStr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc")] - internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function7getBodyEv")] - internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc")] - internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12getOpcodeStrEv")] + internal static extern global::System.IntPtr OpcodeStr_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] - internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12setOpcodeStrEPKc")] + internal static extern void SetOpcodeStr_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - internal static new global::CppSharp.Parser.AST.Function __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 Function(native.ToPointer(), skipVTables); + return new BinaryOperator(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__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 Function(native, skipVTables); + return new BinaryOperator(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Function(global::CppSharp.Parser.AST.Function.__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 Function(void* native, bool skipVTables = false) + protected BinaryOperator(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7698,19 +6257,10 @@ namespace CppSharp __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_0((__Instance + __PointerAdjustment)); - } - - public Function(global::CppSharp.Parser.AST.Function _0) + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7721,7 +6271,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -7729,377 +6279,267 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 + public global::CppSharp.Parser.AST.Expression LHS { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 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.Function.__Internal*) __Instance)->isVariadic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsInline + public global::CppSharp.Parser.AST.Expression RHS { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 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.Function.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsPure + public string OpcodeStr { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + var __ret = __Internal.OpcodeStr_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure = (byte) (value ? 1 : 0); + __Internal.SetOpcodeStr_0((__Instance + __PointerAdjustment), value); } } + } - public bool IsDeleted + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted = (byte) (value ? 1 : 0); - } - } + [FieldOffset(4)] + public global::System.IntPtr decl; - public global::CppSharp.Parser.AST.FriendKind FriendKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; - } + [FieldOffset(8)] + public global::Std.__1.BasicString.__Internal String; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind = value; - } - } + [FieldOffset(20)] + internal global::Std.__1.Vector.__Internal Arguments; - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind = value; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - public global::CppSharp.Parser.AST.CallingConvention CallingConvention - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention = value; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); - 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; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - 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 new CallExpr(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->instantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + { + return new CallExpr(native, skipVTables); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType); - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - 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; - } + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public string Mangled + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); - } + 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_1((__Instance + __PointerAdjustment), __arg0); } - public string Signature + public override void Dispose(bool disposing) { - get - { - var __ret = __Internal.Signature_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - set - { - __Internal.SetSignature_0((__Instance + __PointerAdjustment), value); - } + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + { + var __ret = __Internal.GetArguments_0((__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 string Body + public void AddArguments(global::CppSharp.Parser.AST.Expression s) { - get - { - var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + 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_0((__Instance + __PointerAdjustment), __arg0); + } - set - { - __Internal.SetBody_0((__Instance + __PointerAdjustment), value); - } + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); } - public uint ParametersCount + public uint ArgumentsCount { get { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::System.IntPtr decl; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(16)] - public int lineNumberStart; + public global::Std.__1.BasicString.__Internal String; [FieldOffset(20)] - public int lineNumberEnd; - - [FieldOffset(24)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(36)] - public global::Std.__1.BasicString.__Internal USR; - - [FieldOffset(48)] - public global::Std.__1.BasicString.__Internal DebugText; - - [FieldOffset(60)] - public byte isIncomplete; - - [FieldOffset(61)] - public byte isDependent; - - [FieldOffset(62)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(68)] - public uint definitionOrder; - - [FieldOffset(72)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; - - [FieldOffset(84)] - internal global::Std.__1.Vector.__Internal Redeclarations; + internal global::Std.__1.Vector.__Internal Arguments; - [FieldOffset(96)] - public global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(100)] - public global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(104)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefDecl __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 TypedefDecl(native.ToPointer(), skipVTables); + return new CXXConstructExpr(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.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) { - return new TypedefDecl(native, skipVTables); + return new CXXConstructExpr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__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 TypedefDecl(void* native, bool skipVTables = false) + protected CXXConstructExpr(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8108,19 +6548,10 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefDecl() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8131,18 +6562,51 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + { + var __ret = __Internal.GetArguments_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 116)] + [StructLayout(LayoutKind.Explicit, Size = 124)] public new partial struct __Internal { [FieldOffset(0)] @@ -8203,49 +6667,58 @@ namespace CppSharp public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(112)] - public global::System.IntPtr describedAliasTemplate; + public byte isIndirect; + + [FieldOffset(113)] + public byte hasDefaultValue; + + [FieldOffset(116)] + public uint index; + + [FieldOffset(120)] + public global::System.IntPtr defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] internal static extern void dtor_0(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.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypeAlias(native.ToPointer(), skipVTables); + return new Parameter(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.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) { - return new TypeAlias(native, skipVTables); + return new Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__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 TypeAlias(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8254,19 +6727,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAlias() + public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8285,28 +6758,80 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { 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 global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + } + } + + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + } + + set + { + ((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.TypeAlias.__Internal*) __Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 228)] + [StructLayout(LayoutKind.Explicit, Size = 196)] public new partial struct __Internal { [FieldOffset(0)] @@ -8364,82 +6889,150 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(104)] - internal global::Std.__1.Vector.__Internal Namespaces; + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(112)] + public byte isReturnIndirect; + + [FieldOffset(113)] + public byte hasThisReturn; + + [FieldOffset(114)] + public byte isConstExpr; + + [FieldOffset(115)] + public byte isVariadic; [FieldOffset(116)] - internal global::Std.__1.Vector.__Internal Enums; + public byte isInline; + + [FieldOffset(117)] + public byte isPure; + + [FieldOffset(118)] + public byte isDeleted; + + [FieldOffset(120)] + public global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(124)] + public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal Functions; + public global::Std.__1.BasicString.__Internal Mangled; [FieldOffset(140)] - internal global::Std.__1.Vector.__Internal Classes; + public global::Std.__1.BasicString.__Internal Signature; [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Templates; + public global::Std.__1.BasicString.__Internal Body; [FieldOffset(164)] - internal global::Std.__1.Vector.__Internal Typedefs; - - [FieldOffset(176)] - internal global::Std.__1.Vector.__Internal TypeAliases; - - [FieldOffset(188)] - internal global::Std.__1.Vector.__Internal Variables; + public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(200)] - internal global::Std.__1.Vector.__Internal Friends; + [FieldOffset(168)] + internal global::Std.__1.Vector.__Internal Parameters; - [FieldOffset(212)] - internal global::Std.__1.Map.__Internal anonymous; + [FieldOffset(180)] + public global::System.IntPtr specializationInfo; - [FieldOffset(224)] - public byte isAnonymous; + [FieldOffset(184)] + public global::System.IntPtr instantiatedFrom; - [FieldOffset(225)] - public byte isInline; + [FieldOffset(188)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] + internal static extern global::System.IntPtr GetParameters_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function10getMangledEv")] + internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc")] + internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function12getSignatureEv")] + internal static extern global::System.IntPtr Signature_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc")] + internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7getBodyEv")] + internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc")] + internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] + internal static extern uint GetParametersCount_0(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.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Namespace(native.ToPointer(), skipVTables); + return new Function(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.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new Namespace(native, skipVTables); + return new Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__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 Namespace(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8448,19 +7041,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8479,169 +7072,277 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsInline + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType); } set { - ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + ((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 TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 120)] - public new partial struct __Internal + public bool IsReturnIndirect { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(16)] - public int lineNumberStart; - - [FieldOffset(20)] - public int lineNumberEnd; + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + } - [FieldOffset(24)] - public global::Std.__1.BasicString.__Internal Name; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + } + } - [FieldOffset(36)] - public global::Std.__1.BasicString.__Internal USR; + public bool HasThisReturn + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + } - [FieldOffset(48)] - public global::Std.__1.BasicString.__Internal DebugText; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn = (byte) (value ? 1 : 0); + } + } - [FieldOffset(60)] - public byte isIncomplete; + public bool IsConstExpr + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + } - [FieldOffset(61)] - public byte isDependent; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr = (byte) (value ? 1 : 0); + } + } - [FieldOffset(62)] - public byte isImplicit; + public bool IsVariadic + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + } - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(68)] - public uint definitionOrder; + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + } - [FieldOffset(72)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + } + } - [FieldOffset(84)] - internal global::Std.__1.Vector.__Internal Redeclarations; + public bool IsPure + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + } - [FieldOffset(96)] - public global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure = (byte) (value ? 1 : 0); + } + } - [FieldOffset(100)] - public global::System.IntPtr comment; + public bool IsDeleted + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + } - [FieldOffset(104)] - public global::System.IntPtr TemplatedDecl; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted = (byte) (value ? 1 : 0); + } + } - [FieldOffset(108)] - internal global::Std.__1.Vector.__Internal Parameters; + public global::CppSharp.Parser.AST.FriendKind FriendKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind = value; + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind = value; + } } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { - return new TypeAliasTemplate(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention = value; + } } - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo { - return new TypeAliasTemplate(native, skipVTables); + 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; + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + public global::CppSharp.Parser.AST.Function InstantiatedFrom { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + 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; + } } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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; + } } - protected TypeAliasTemplate(void* native, bool skipVTables = false) - : base((void*) null) + public string Mangled { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); + } } - public TypeAliasTemplate() - : this((void*) null) + public string Signature { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.Signature_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetSignature_0((__Instance + __PointerAdjustment), value); + } } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) - : this((void*) null) + public string Body { - __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_1((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBody_0((__Instance + __PointerAdjustment), value); + } } - public override void Dispose(bool disposing) + public uint ParametersCount { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + get + { + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 132)] + [StructLayout(LayoutKind.Explicit, Size = 224)] public new partial struct __Internal { [FieldOffset(0)] @@ -8699,277 +7400,133 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(104)] - public global::System.IntPtr TemplatedDecl; - - [FieldOffset(108)] - internal global::Std.__1.Vector.__Internal Parameters; - - [FieldOffset(120)] - internal global::Std.__1.Vector.__Internal Specializations; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] - internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new ClassTemplate(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) - { - return new ClassTemplate(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected ClassTemplate(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public ClassTemplate() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__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_1((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(112)] + public byte isReturnIndirect; - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } + [FieldOffset(113)] + public byte hasThisReturn; - public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations_0((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(114)] + public byte isConstExpr; - public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization 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_0((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(115)] + public byte isVariadic; - public void ClearSpecializations() - { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); - } + [FieldOffset(116)] + public byte isInline; - public uint SpecializationsCount - { - get - { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(117)] + public byte isPure; - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 132)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(118)] + public byte isDeleted; - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + [FieldOffset(120)] + public global::CppSharp.Parser.AST.FriendKind friendKind; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [FieldOffset(124)] + public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(128)] + public global::Std.__1.BasicString.__Internal Mangled; - [FieldOffset(16)] - public int lineNumberStart; + [FieldOffset(140)] + public global::Std.__1.BasicString.__Internal Signature; - [FieldOffset(20)] - public int lineNumberEnd; + [FieldOffset(152)] + public global::Std.__1.BasicString.__Internal Body; - [FieldOffset(24)] - public global::Std.__1.BasicString.__Internal Name; + [FieldOffset(164)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(36)] - public global::Std.__1.BasicString.__Internal USR; + [FieldOffset(168)] + internal global::Std.__1.Vector.__Internal Parameters; - [FieldOffset(48)] - public global::Std.__1.BasicString.__Internal DebugText; + [FieldOffset(180)] + public global::System.IntPtr specializationInfo; - [FieldOffset(60)] - public byte isIncomplete; + [FieldOffset(184)] + public global::System.IntPtr instantiatedFrom; - [FieldOffset(61)] - public byte isDependent; + [FieldOffset(188)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(62)] - public byte isImplicit; + [FieldOffset(196)] + public byte isVirtual; - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; + [FieldOffset(197)] + public byte isStatic; - [FieldOffset(68)] - public uint definitionOrder; + [FieldOffset(198)] + public byte isConst; - [FieldOffset(72)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; + [FieldOffset(199)] + public byte isExplicit; - [FieldOffset(84)] - internal global::Std.__1.Vector.__Internal Redeclarations; + [FieldOffset(200)] + public byte isOverride; - [FieldOffset(96)] - public global::System.IntPtr originalPtr; + [FieldOffset(204)] + public global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(100)] - public global::System.IntPtr comment; + [FieldOffset(208)] + public byte isDefaultConstructor; - [FieldOffset(104)] - public global::System.IntPtr TemplatedDecl; + [FieldOffset(209)] + public byte isCopyConstructor; - [FieldOffset(108)] - internal global::Std.__1.Vector.__Internal Parameters; + [FieldOffset(210)] + public byte isMoveConstructor; - [FieldOffset(120)] - internal global::Std.__1.Vector.__Internal Specializations; + [FieldOffset(212)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(220)] + public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount_0(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 FunctionTemplate(native.ToPointer(), skipVTables); + return new 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 FunctionTemplate(native, skipVTables); + return new 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_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor_1(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; @@ -8978,19 +7535,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_0((__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)) @@ -9009,43 +7566,153 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + public bool IsVirtual { - var __ret = __Internal.GetSpecializations_0((__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; + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); + } } - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + public bool IsStatic { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic = (byte) (value ? 1 : 0); + } } - public void ClearSpecializations() + public bool IsConst { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst = (byte) (value ? 1 : 0); + } } - public uint SpecializationsCount + public bool IsExplicit { get { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public bool IsOverride + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride = (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(((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 unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 124)] + [StructLayout(LayoutKind.Explicit, Size = 252)] public new partial struct __Internal { [FieldOffset(0)] @@ -9103,62 +7770,302 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(104)] - public global::Std.__1.BasicString.__Internal Mangled; + internal global::Std.__1.Vector.__Internal Namespaces; [FieldOffset(116)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal global::Std.__1.Vector.__Internal Enums; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal Functions; + + [FieldOffset(140)] + internal global::Std.__1.Vector.__Internal Classes; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Templates; + + [FieldOffset(164)] + internal global::Std.__1.Vector.__Internal Typedefs; + + [FieldOffset(176)] + internal global::Std.__1.Vector.__Internal TypeAliases; + + [FieldOffset(188)] + internal global::Std.__1.Vector.__Internal Variables; + + [FieldOffset(200)] + internal global::Std.__1.Vector.__Internal Friends; + + [FieldOffset(212)] + internal global::Std.__1.Map.__Internal anonymous; + + [FieldOffset(224)] + public byte isAnonymous; + + [FieldOffset(228)] + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(232)] + public global::System.IntPtr type; + + [FieldOffset(236)] + public global::System.IntPtr builtinType; + + [FieldOffset(240)] + internal global::Std.__1.Vector.__Internal Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10getMangledEv")] - internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] + internal static extern global::System.IntPtr GetItems_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] + internal static extern void ClearItems_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] + internal static extern uint GetItemsCount_0(global::System.IntPtr instance); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } + + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 124)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(16)] + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(36)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(60)] + public byte isIncomplete; + + [FieldOffset(61)] + public byte isDependent; + + [FieldOffset(62)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(68)] + public uint definitionOrder; + + [FieldOffset(72)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(84)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(96)] + public global::System.IntPtr originalPtr; + + [FieldOffset(100)] + public global::System.IntPtr comment; + + [FieldOffset(104)] + public global::Std.__1.BasicString.__Internal Expression; + + [FieldOffset(116)] + public ulong value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv")] + internal static extern global::System.IntPtr Expression_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc")] + internal static extern void SetExpression_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } + + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new 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 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + 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; + } + } + + public string Expression + { + get + { + var __ret = __Internal.Expression_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc")] - internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + set + { + __Internal.SetExpression_0((__Instance + __PointerAdjustment), value); + } + } } - internal static new global::CppSharp.Parser.AST.Variable __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 Variable(native.ToPointer(), skipVTables); + return new Enumeration(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.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new Variable(native, skipVTables); + return new Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__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 Variable(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9167,19 +8074,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9198,37 +8105,92 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + { + var __ret = __Internal.GetItems_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearItems() + { + __Internal.ClearItems_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType); + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; } 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.Enumeration.__Internal*) __Instance)->modifiers = value; } } - public string Mangled + public global::CppSharp.Parser.AST.Type Type { get { - var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + 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 { - __Internal.SetMangled_0((__Instance + __PointerAdjustment), 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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 108)] + [StructLayout(LayoutKind.Explicit, Size = 124)] public new partial struct __Internal { [FieldOffset(0)] @@ -9286,49 +8248,62 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(104)] - public global::System.IntPtr declaration; + public global::Std.__1.BasicString.__Internal Mangled; + + [FieldOffset(116)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10getMangledEv")] + internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc")] + internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - internal static new global::CppSharp.Parser.AST.Friend __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 Friend(native.ToPointer(), skipVTables); + return new Variable(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.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new Friend(native, skipVTables); + return new Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Friend(global::CppSharp.Parser.AST.Friend.__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 Friend(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9337,19 +8312,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Friend() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9368,108 +8343,115 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { 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; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType); } set { - ((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : 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 string Mangled + { + get + { + var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class Statement : IDisposable + public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(4)] - public global::System.IntPtr decl; + public byte isVirtual; [FieldOffset(8)] - public global::Std.__1.BasicString.__Internal String; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + public global::System.IntPtr type; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + [FieldOffset(12)] + public int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9getStringEv")] - internal static extern global::System.IntPtr String_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9setStringEPKc")] - internal static extern void SetString_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] + internal static extern void cctor_1(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(); + 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 global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Statement(native.ToPointer(), skipVTables); + return new BaseClassSpecifier(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.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new Statement(native, skipVTables); + return new BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor_2(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 Statement(global::CppSharp.Parser.AST.Statement.__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 Statement(void* native, bool skipVTables = false) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + { + __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); } public void Dispose() @@ -9479,110 +8461,182 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.StatementClass Class + 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.Statement.__Internal*) __Instance)->_class; + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class = value; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.Declaration Decl + public global::CppSharp.Parser.AST.Type Type { 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.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.Statement.__Internal*) __Instance)->decl = 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 string String + public int Offset { get { - var __ret = __Internal.String_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; } set { - __Internal.SetString_0((__Instance + __PointerAdjustment), value); + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset = value; } } } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 124)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - public global::System.IntPtr decl; + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::Std.__1.BasicString.__Internal String; + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(16)] + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(36)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(60)] + public byte isIncomplete; + + [FieldOffset(61)] + public byte isDependent; + + [FieldOffset(62)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(68)] + public uint definitionOrder; + + [FieldOffset(72)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(84)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(96)] + public global::System.IntPtr originalPtr; + + [FieldOffset(100)] + public global::System.IntPtr comment; + + [FieldOffset(104)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(112)] + public global::System.IntPtr _class; + + [FieldOffset(116)] + public byte isBitField; + + [FieldOffset(120)] + public uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Expression __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 Expression(native.ToPointer(), skipVTables); + return new Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__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 Expression(native, skipVTables); + return new Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Expression(global::CppSharp.Parser.AST.Expression.__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 Expression(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9591,10 +8645,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Expression(global::CppSharp.Parser.AST.Expression _0) + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Field(global::CppSharp.Parser.AST.Field _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9605,84 +8668,172 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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.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 BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - public global::System.IntPtr decl; + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::Std.__1.BasicString.__Internal String; + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(16)] + public int lineNumberStart; [FieldOffset(20)] - public global::System.IntPtr LHS; + public int lineNumberEnd; [FieldOffset(24)] - public global::System.IntPtr RHS; + public global::Std.__1.BasicString.__Internal Name; - [FieldOffset(28)] - public global::Std.__1.BasicString.__Internal OpcodeStr; + [FieldOffset(36)] + public global::Std.__1.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(48)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(60)] + public byte isIncomplete; + + [FieldOffset(61)] + public byte isDependent; + + [FieldOffset(62)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(68)] + public uint definitionOrder; + + [FieldOffset(72)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(84)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(96)] + public global::System.IntPtr originalPtr; + + [FieldOffset(100)] + public global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12getOpcodeStrEv")] - internal static extern global::System.IntPtr OpcodeStr_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12setOpcodeStrEPKc")] - internal static extern void SetOpcodeStr_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __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 BinaryOperator(native.ToPointer(), skipVTables); + return new AccessSpecifierDecl(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.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new BinaryOperator(native, skipVTables); + return new AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__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 BinaryOperator(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9691,10 +8842,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__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)) @@ -9705,138 +8865,273 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + } - public global::CppSharp.Parser.AST.Expression LHS + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 292)] + public new partial struct __Internal { - 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; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; - 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(8)] + public global::System.IntPtr _namespace; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - public string OpcodeStr - { - get - { - var __ret = __Internal.OpcodeStr_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + [FieldOffset(16)] + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(36)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(60)] + public byte isIncomplete; + + [FieldOffset(61)] + public byte isDependent; + + [FieldOffset(62)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(68)] + public uint definitionOrder; + + [FieldOffset(72)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(84)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(96)] + public global::System.IntPtr originalPtr; + + [FieldOffset(100)] + public global::System.IntPtr comment; + + [FieldOffset(104)] + internal global::Std.__1.Vector.__Internal Namespaces; + + [FieldOffset(116)] + internal global::Std.__1.Vector.__Internal Enums; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal Functions; + + [FieldOffset(140)] + internal global::Std.__1.Vector.__Internal Classes; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Templates; + + [FieldOffset(164)] + internal global::Std.__1.Vector.__Internal Typedefs; + + [FieldOffset(176)] + internal global::Std.__1.Vector.__Internal TypeAliases; + + [FieldOffset(188)] + internal global::Std.__1.Vector.__Internal Variables; + + [FieldOffset(200)] + internal global::Std.__1.Vector.__Internal Friends; + + [FieldOffset(212)] + internal global::Std.__1.Map.__Internal anonymous; + + [FieldOffset(224)] + public byte isAnonymous; + + [FieldOffset(228)] + internal global::Std.__1.Vector.__Internal Bases; + + [FieldOffset(240)] + internal global::Std.__1.Vector.__Internal Fields; + + [FieldOffset(252)] + internal global::Std.__1.Vector.__Internal Methods; + + [FieldOffset(264)] + internal global::Std.__1.Vector.__Internal Specifiers; + + [FieldOffset(276)] + public byte isPOD; + + [FieldOffset(277)] + public byte isAbstract; + + [FieldOffset(278)] + public byte isUnion; + + [FieldOffset(279)] + public byte isDynamic; + + [FieldOffset(280)] + public byte isPolymorphic; + + [FieldOffset(281)] + public byte hasNonTrivialDefaultConstructor; + + [FieldOffset(282)] + public byte hasNonTrivialCopyConstructor; + + [FieldOffset(283)] + public byte hasNonTrivialDestructor; + + [FieldOffset(284)] + public byte isExternCContext; + + [FieldOffset(285)] + public byte isInjected; + + [FieldOffset(288)] + public global::System.IntPtr layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] + internal static extern global::System.IntPtr GetBases_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] + internal static extern global::System.IntPtr GetFields_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); - set - { - __Internal.SetOpcodeStr_0((__Instance + __PointerAdjustment), value); - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + internal static extern void ClearFields_0(global::System.IntPtr instance); - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] + internal static extern global::System.IntPtr GetMethods_0(global::System.IntPtr instance, uint i); - [FieldOffset(4)] - public global::System.IntPtr decl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] + internal static extern void AddMethods_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(8)] - public global::Std.__1.BasicString.__Internal String; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] + internal static extern void ClearMethods_0(global::System.IntPtr instance); - [FieldOffset(20)] - internal global::Std.__1.Vector.__Internal Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] + internal static extern global::System.IntPtr GetSpecifiers_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] + internal static extern void AddSpecifiers_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] + internal static extern void ClearSpecifiers_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + internal static extern uint GetBasesCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] + internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] + internal static extern uint GetMethodsCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] + internal static extern uint GetSpecifiersCount_0(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.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new CallExpr(native.ToPointer(), skipVTables); + return new Class(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.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new CallExpr(native, skipVTables); + return new Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__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 CallExpr(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9845,10 +9140,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__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)) @@ -9859,7 +9163,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -9867,296 +9171,459 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) { - var __ret = __Internal.GetArguments_0((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; + var __ret = __Internal.GetBases_0((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __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.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.Expression 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_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBases_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearBases() { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.ClearBases_0((__Instance + __PointerAdjustment)); } - public uint ArgumentsCount + public global::CppSharp.Parser.AST.Field GetFields(uint i) { - get - { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } + var __ret = __Internal.GetFields_0((__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 unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + public void AddFields(global::CppSharp.Parser.AST.Field s) { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(4)] - public global::System.IntPtr decl; + public void ClearFields() + { + __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(8)] - public global::Std.__1.BasicString.__Internal String; + public global::CppSharp.Parser.AST.Method GetMethods(uint i) + { + var __ret = __Internal.GetMethods_0((__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(20)] - internal global::Std.__1.Vector.__Internal Arguments; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + public void ClearMethods() + { + __Internal.ClearMethods_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + { + var __ret = __Internal.GetSpecifiers_0((__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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + public void ClearSpecifiers() + { + __Internal.ClearSpecifiers_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsPolymorphic { - return new CXXConstructExpr(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + public bool HasNonTrivialDefaultConstructor { - return new CXXConstructExpr(native, 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); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + public bool HasNonTrivialCopyConstructor { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + 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 CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool HasNonTrivialDestructor { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - protected CXXConstructExpr(void* native, bool skipVTables = false) - : base((void*) null) + public bool IsExternCContext { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + 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 CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) - : this((void*) null) + public bool IsInjected { - __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_1((__Instance + __PointerAdjustment), __arg0); + 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 override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.ClassLayout Layout { - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + 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 global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public uint BasesCount { - var __ret = __Internal.GetArguments_0((__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; + get + { + var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public uint FieldsCount { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public void ClearArguments() + public uint MethodsCount { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.GetMethodsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public uint ArgumentsCount + public uint SpecifiersCount { get { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecifiersCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class FunctionTemplateSpecialization : IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal { [FieldOffset(0)] - public global::System.IntPtr _template; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal global::Std.__1.Vector.__Internal Arguments; + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; [FieldOffset(16)] - public global::System.IntPtr specializedFunction; + public int lineNumberStart; [FieldOffset(20)] - public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + public int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + [FieldOffset(24)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(36)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(60)] + public byte isIncomplete; + + [FieldOffset(61)] + public byte isDependent; + + [FieldOffset(62)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(68)] + public uint definitionOrder; + + [FieldOffset(72)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(84)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(96)] + public global::System.IntPtr originalPtr; + + [FieldOffset(100)] + public global::System.IntPtr comment; + + [FieldOffset(104)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(108)] + internal global::Std.__1.Vector.__Internal Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + internal static extern void ctor_1(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] + internal static extern void cctor_3(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] + internal static extern global::System.IntPtr GetParameters_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] + internal static extern void AddParameters_0(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="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] + internal static extern void ClearParameters_0(global::System.IntPtr instance); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] + internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __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 FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + return new Template(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.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new FunctionTemplateSpecialization(native, skipVTables); + return new Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor_3(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__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 FunctionTemplateSpecialization(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplateSpecialization() + public Template(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.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public Template() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor_1((__Instance + __PointerAdjustment)); } - public void Dispose() + public Template(global::CppSharp.Parser.AST.Template _0) + : this((void*) null) { - Dispose(disposing: true); + __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_3((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -10164,88 +9631,66 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetParameters_0((__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 AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + 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.AddArguments_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddParameters_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearParameters() { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FunctionTemplate Template + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) { - 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; - } + return new global::CppSharp.Parser.AST.Template(kind); } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { 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); + 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.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; + ((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ArgumentsCount + public uint ParametersCount { get { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { [FieldOffset(0)] @@ -10302,47 +9747,53 @@ namespace CppSharp [FieldOffset(100)] public global::System.IntPtr comment; + [FieldOffset(104)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(108)] + internal global::Std.__1.Vector.__Internal Parameters; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __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 AccessSpecifierDecl(native.ToPointer(), skipVTables); + return new TypeAliasTemplate(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.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new AccessSpecifierDecl(native, skipVTables); + return new TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__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 AccessSpecifierDecl(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10351,19 +9802,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AccessSpecifierDecl() + public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10383,9 +9834,9 @@ namespace CppSharp } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 224)] + [StructLayout(LayoutKind.Explicit, Size = 116)] public new partial struct __Internal { [FieldOffset(0)] @@ -10412,164 +9863,86 @@ namespace CppSharp [FieldOffset(36)] public global::Std.__1.BasicString.__Internal USR; - [FieldOffset(48)] - public global::Std.__1.BasicString.__Internal DebugText; - - [FieldOffset(60)] - public byte isIncomplete; - - [FieldOffset(61)] - public byte isDependent; - - [FieldOffset(62)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(68)] - public uint definitionOrder; - - [FieldOffset(72)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; - - [FieldOffset(84)] - internal global::Std.__1.Vector.__Internal Redeclarations; - - [FieldOffset(96)] - public global::System.IntPtr originalPtr; - - [FieldOffset(100)] - public global::System.IntPtr comment; - - [FieldOffset(104)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(112)] - public byte isReturnIndirect; - - [FieldOffset(113)] - public byte hasThisReturn; - - [FieldOffset(114)] - public byte isConstExpr; - - [FieldOffset(115)] - public byte isVariadic; - - [FieldOffset(116)] - public byte isInline; - - [FieldOffset(117)] - public byte isPure; - - [FieldOffset(118)] - public byte isDeleted; - - [FieldOffset(120)] - public global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(124)] - public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(128)] - public global::Std.__1.BasicString.__Internal Mangled; - - [FieldOffset(140)] - public global::Std.__1.BasicString.__Internal Signature; - - [FieldOffset(152)] - public global::Std.__1.BasicString.__Internal Body; - - [FieldOffset(164)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(168)] - internal global::Std.__1.Vector.__Internal Parameters; - - [FieldOffset(180)] - public global::System.IntPtr specializationInfo; - - [FieldOffset(184)] - public global::System.IntPtr instantiatedFrom; - - [FieldOffset(188)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(48)] + public global::Std.__1.BasicString.__Internal DebugText; - [FieldOffset(196)] - public byte isVirtual; + [FieldOffset(60)] + public byte isIncomplete; - [FieldOffset(197)] - public byte isStatic; + [FieldOffset(61)] + public byte isDependent; - [FieldOffset(198)] - public byte isConst; + [FieldOffset(62)] + public byte isImplicit; - [FieldOffset(199)] - public byte isExplicit; + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; - [FieldOffset(200)] - public byte isOverride; + [FieldOffset(68)] + public uint definitionOrder; - [FieldOffset(204)] - public global::CppSharp.Parser.AST.CXXMethodKind methodKind; + [FieldOffset(72)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; - [FieldOffset(208)] - public byte isDefaultConstructor; + [FieldOffset(84)] + internal global::Std.__1.Vector.__Internal Redeclarations; - [FieldOffset(209)] - public byte isCopyConstructor; + [FieldOffset(96)] + public global::System.IntPtr originalPtr; - [FieldOffset(210)] - public byte isMoveConstructor; + [FieldOffset(100)] + public global::System.IntPtr comment; - [FieldOffset(212)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + [FieldOffset(104)] + public uint depth; - [FieldOffset(220)] - public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + [FieldOffset(108)] + public uint index; + + [FieldOffset(112)] + public byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] internal static extern void dtor_0(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.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Method(native.ToPointer(), skipVTables); + return new TemplateParameter(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.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new Method(native, skipVTables); + return new TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__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 Method(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10578,19 +9951,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public Method(global::CppSharp.Parser.AST.Method _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10609,307 +9982,413 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsVirtual + 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.Method.__Internal*) __Instance)->isVirtual != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth = value; } } - public bool IsStatic + public uint Index { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index = value; } } - public bool IsConst + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); } } + } - public bool IsExplicit + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 124)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit = (byte) (value ? 1 : 0); - } + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(16)] + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(36)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(60)] + public byte isIncomplete; + + [FieldOffset(61)] + public byte isDependent; + + [FieldOffset(62)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(68)] + public uint definitionOrder; + + [FieldOffset(72)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(84)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(96)] + public global::System.IntPtr originalPtr; + + [FieldOffset(100)] + public global::System.IntPtr comment; + + [FieldOffset(104)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(108)] + internal global::Std.__1.Vector.__Internal Parameters; + + [FieldOffset(120)] + public byte isParameterPack; + + [FieldOffset(121)] + public byte isPackExpansion; + + [FieldOffset(122)] + public byte isExpandedParameterPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); } - public bool IsOverride + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride != 0; - } + return new TemplateTemplateParameter(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride = (byte) (value ? 1 : 0); - } + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + { + return new TemplateTemplateParameter(native, skipVTables); } - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind = value; - } + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TemplateTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TemplateTemplateParameter() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public bool IsDefaultConstructor + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__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_1((__Instance + __PointerAdjustment), __arg0); } - public bool IsCopyConstructor + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor = (byte) (value ? 1 : 0); - } + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public bool IsMoveConstructor + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public bool IsPackExpansion { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType); + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } 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.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier = value; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class BaseClassSpecifier : IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 124)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - public byte isVirtual; + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr type; + public global::System.IntPtr _namespace; [FieldOffset(12)] - public int offset; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(16)] + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(36)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(60)] + public byte isIncomplete; + + [FieldOffset(61)] + public byte isDependent; + + [FieldOffset(62)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(68)] + public uint definitionOrder; + + [FieldOffset(72)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(84)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(96)] + public global::System.IntPtr originalPtr; + + [FieldOffset(100)] + public global::System.IntPtr comment; + + [FieldOffset(104)] + public uint depth; + + [FieldOffset(108)] + public uint index; + + [FieldOffset(112)] + public byte isParameterPack; + + [FieldOffset(116)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] internal static extern void cctor_1(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="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] + internal static extern void dtor_0(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.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new BaseClassSpecifier(native.ToPointer(), skipVTables); + return new TypeTemplateParameter(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.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new BaseClassSpecifier(native, skipVTables); + return new TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__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.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__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 BaseClassSpecifier(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BaseClassSpecifier() + public TypeTemplateParameter() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__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_1((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - 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 - { - 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; - } - } - - public int Offset + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument); } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset = value; + ((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 Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 124)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { [FieldOffset(0)] @@ -10967,58 +10446,67 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(104)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public uint depth; + + [FieldOffset(108)] + public uint index; [FieldOffset(112)] - public global::System.IntPtr _class; + public byte isParameterPack; [FieldOffset(116)] - public byte isBitField; + public global::System.IntPtr defaultArgument; [FieldOffset(120)] - public uint bitWidth; + public uint position; + + [FieldOffset(124)] + public byte isPackExpansion; + + [FieldOffset(125)] + public byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] internal static extern void dtor_0(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.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Field(native.ToPointer(), skipVTables); + return new NonTypeTemplateParameter(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.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new Field(native, skipVTables); + return new NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__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 Field(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11027,19 +10515,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Field(global::CppSharp.Parser.AST.Field _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11058,67 +10546,67 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Expression DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType); + 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.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.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Class Class + public uint Position { 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.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position = value; } } - public bool IsBitField + public bool IsPackExpansion { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint BitWidth + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 116)] + [StructLayout(LayoutKind.Explicit, Size = 132)] public new partial struct __Internal { [FieldOffset(0)] @@ -11176,55 +10664,75 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(104)] - public uint depth; + public global::System.IntPtr TemplatedDecl; [FieldOffset(108)] - public uint index; + internal global::Std.__1.Vector.__Internal Parameters; - [FieldOffset(112)] - public byte isParameterPack; + [FieldOffset(120)] + internal global::Std.__1.Vector.__Internal Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] + internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount_0(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.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplate(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.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) { - return new TemplateParameter(native, skipVTables); + return new ClassTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11233,19 +10741,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public ClassTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) + public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11264,54 +10772,43 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + var __ret = __Internal.GetSpecializations_0((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public uint Depth + public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth = value; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public void ClearSpecializations() { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index = value; - } + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); } - public bool IsParameterPack + public uint SpecializationsCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 124)] + [StructLayout(LayoutKind.Explicit, Size = 312)] public new partial struct __Internal { [FieldOffset(0)] @@ -11320,110 +10817,202 @@ namespace CppSharp [FieldOffset(4)] public global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(16)] + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(36)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(60)] + public byte isIncomplete; + + [FieldOffset(61)] + public byte isDependent; + + [FieldOffset(62)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(68)] + public uint definitionOrder; + + [FieldOffset(72)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(84)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(96)] + public global::System.IntPtr originalPtr; + + [FieldOffset(100)] + public global::System.IntPtr comment; + + [FieldOffset(104)] + internal global::Std.__1.Vector.__Internal Namespaces; + + [FieldOffset(116)] + internal global::Std.__1.Vector.__Internal Enums; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal Functions; + + [FieldOffset(140)] + internal global::Std.__1.Vector.__Internal Classes; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Templates; + + [FieldOffset(164)] + internal global::Std.__1.Vector.__Internal Typedefs; + + [FieldOffset(176)] + internal global::Std.__1.Vector.__Internal TypeAliases; + + [FieldOffset(188)] + internal global::Std.__1.Vector.__Internal Variables; - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(200)] + internal global::Std.__1.Vector.__Internal Friends; - [FieldOffset(16)] - public int lineNumberStart; + [FieldOffset(212)] + internal global::Std.__1.Map.__Internal anonymous; - [FieldOffset(20)] - public int lineNumberEnd; + [FieldOffset(224)] + public byte isAnonymous; - [FieldOffset(24)] - public global::Std.__1.BasicString.__Internal Name; + [FieldOffset(228)] + internal global::Std.__1.Vector.__Internal Bases; - [FieldOffset(36)] - public global::Std.__1.BasicString.__Internal USR; + [FieldOffset(240)] + internal global::Std.__1.Vector.__Internal Fields; - [FieldOffset(48)] - public global::Std.__1.BasicString.__Internal DebugText; + [FieldOffset(252)] + internal global::Std.__1.Vector.__Internal Methods; - [FieldOffset(60)] - public byte isIncomplete; + [FieldOffset(264)] + internal global::Std.__1.Vector.__Internal Specifiers; - [FieldOffset(61)] - public byte isDependent; + [FieldOffset(276)] + public byte isPOD; - [FieldOffset(62)] - public byte isImplicit; + [FieldOffset(277)] + public byte isAbstract; - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; + [FieldOffset(278)] + public byte isUnion; - [FieldOffset(68)] - public uint definitionOrder; + [FieldOffset(279)] + public byte isDynamic; - [FieldOffset(72)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; + [FieldOffset(280)] + public byte isPolymorphic; - [FieldOffset(84)] - internal global::Std.__1.Vector.__Internal Redeclarations; + [FieldOffset(281)] + public byte hasNonTrivialDefaultConstructor; - [FieldOffset(96)] - public global::System.IntPtr originalPtr; + [FieldOffset(282)] + public byte hasNonTrivialCopyConstructor; - [FieldOffset(100)] - public global::System.IntPtr comment; + [FieldOffset(283)] + public byte hasNonTrivialDestructor; - [FieldOffset(104)] - public global::System.IntPtr TemplatedDecl; + [FieldOffset(284)] + public byte isExternCContext; - [FieldOffset(108)] - internal global::Std.__1.Vector.__Internal Parameters; + [FieldOffset(285)] + public byte isInjected; - [FieldOffset(120)] - public byte isParameterPack; + [FieldOffset(288)] + public global::System.IntPtr layout; - [FieldOffset(121)] - public byte isPackExpansion; + [FieldOffset(292)] + public global::System.IntPtr templatedDecl; - [FieldOffset(122)] - public byte isExpandedParameterPack; + [FieldOffset(296)] + internal global::Std.__1.Vector.__Internal Arguments; + + [FieldOffset(308)] + public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(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.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplateSpecialization(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.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new TemplateTemplateParameter(native, skipVTables); + return new ClassTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11432,19 +11021,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11463,49 +11052,70 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsParameterPack + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + global::CppSharp.Parser.AST.ClassTemplate __result0; + if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsPackExpansion + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; } } - public bool IsExpandedParameterPack + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 312)] public new partial struct __Internal { [FieldOffset(0)] @@ -11562,68 +11172,134 @@ namespace CppSharp [FieldOffset(100)] public global::System.IntPtr comment; - [FieldOffset(104)] - public uint depth; + [FieldOffset(104)] + internal global::Std.__1.Vector.__Internal Namespaces; + + [FieldOffset(116)] + internal global::Std.__1.Vector.__Internal Enums; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal Functions; + + [FieldOffset(140)] + internal global::Std.__1.Vector.__Internal Classes; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Templates; + + [FieldOffset(164)] + internal global::Std.__1.Vector.__Internal Typedefs; + + [FieldOffset(176)] + internal global::Std.__1.Vector.__Internal TypeAliases; + + [FieldOffset(188)] + internal global::Std.__1.Vector.__Internal Variables; + + [FieldOffset(200)] + internal global::Std.__1.Vector.__Internal Friends; + + [FieldOffset(212)] + internal global::Std.__1.Map.__Internal anonymous; + + [FieldOffset(224)] + public byte isAnonymous; + + [FieldOffset(228)] + internal global::Std.__1.Vector.__Internal Bases; + + [FieldOffset(240)] + internal global::Std.__1.Vector.__Internal Fields; + + [FieldOffset(252)] + internal global::Std.__1.Vector.__Internal Methods; + + [FieldOffset(264)] + internal global::Std.__1.Vector.__Internal Specifiers; + + [FieldOffset(276)] + public byte isPOD; + + [FieldOffset(277)] + public byte isAbstract; + + [FieldOffset(278)] + public byte isUnion; + + [FieldOffset(279)] + public byte isDynamic; + + [FieldOffset(280)] + public byte isPolymorphic; + + [FieldOffset(281)] + public byte hasNonTrivialDefaultConstructor; + + [FieldOffset(282)] + public byte hasNonTrivialCopyConstructor; + + [FieldOffset(283)] + public byte hasNonTrivialDestructor; - [FieldOffset(108)] - public uint index; + [FieldOffset(284)] + public byte isExternCContext; - [FieldOffset(112)] - public byte isParameterPack; + [FieldOffset(285)] + public byte isInjected; - [FieldOffset(116)] - public global::System.IntPtr defaultArgument; + [FieldOffset(288)] + public global::System.IntPtr layout; - [FieldOffset(120)] - public uint position; + [FieldOffset(292)] + public global::System.IntPtr templatedDecl; - [FieldOffset(124)] - public byte isPackExpansion; + [FieldOffset(296)] + internal global::Std.__1.Vector.__Internal Arguments; - [FieldOffset(125)] - public byte isExpandedParameterPack; + [FieldOffset(308)] + public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] internal static extern void dtor_0(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.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplatePartialSpecialization(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.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new NonTypeTemplateParameter(native, skipVTables); + return new ClassTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11632,19 +11308,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11662,68 +11338,11 @@ namespace CppSharp if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - - 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 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); - } - } } - public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 312)] + [StructLayout(LayoutKind.Explicit, Size = 132)] public new partial struct __Internal { [FieldOffset(0)] @@ -11781,174 +11400,251 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(104)] - internal global::Std.__1.Vector.__Internal Namespaces; - - [FieldOffset(116)] - internal global::Std.__1.Vector.__Internal Enums; - - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal Functions; - - [FieldOffset(140)] - internal global::Std.__1.Vector.__Internal Classes; - - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Templates; + public global::System.IntPtr TemplatedDecl; - [FieldOffset(164)] - internal global::Std.__1.Vector.__Internal Typedefs; + [FieldOffset(108)] + internal global::Std.__1.Vector.__Internal Parameters; - [FieldOffset(176)] - internal global::Std.__1.Vector.__Internal TypeAliases; + [FieldOffset(120)] + internal global::Std.__1.Vector.__Internal Specializations; - [FieldOffset(188)] - internal global::Std.__1.Vector.__Internal Variables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(200)] - internal global::Std.__1.Vector.__Internal Friends; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(212)] - internal global::Std.__1.Map.__Internal anonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(224)] - public byte isAnonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); - [FieldOffset(228)] - internal global::Std.__1.Vector.__Internal Bases; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] + internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(240)] - internal global::Std.__1.Vector.__Internal Fields; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); - [FieldOffset(252)] - internal global::Std.__1.Vector.__Internal Methods; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); + } - [FieldOffset(264)] - internal global::Std.__1.Vector.__Internal Specifiers; + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new FunctionTemplate(native.ToPointer(), skipVTables); + } - [FieldOffset(276)] - public byte isPOD; + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + { + return new FunctionTemplate(native, skipVTables); + } - [FieldOffset(277)] - public byte isAbstract; + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(278)] - public byte isUnion; + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(279)] - public byte isDynamic; + protected FunctionTemplate(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(280)] - public byte isPolymorphic; + public FunctionTemplate() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(281)] - public byte hasNonTrivialDefaultConstructor; + 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_1((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(282)] - public byte hasNonTrivialCopyConstructor; + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - [FieldOffset(283)] - public byte hasNonTrivialDestructor; + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations_0((__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(284)] - public byte isExternCContext; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(285)] - public byte isInjected; + public void ClearSpecializations() + { + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(288)] - public global::System.IntPtr layout; + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(292)] - public global::System.IntPtr templatedDecl; + public unsafe partial class FunctionTemplateSpecialization : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::System.IntPtr _template; - [FieldOffset(296)] + [FieldOffset(4)] internal global::Std.__1.Vector.__Internal Arguments; - [FieldOffset(308)] + [FieldOffset(16)] + public global::System.IntPtr specializedFunction; + + [FieldOffset(20)] public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __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 ClassTemplateSpecialization(native.ToPointer(), skipVTables); + return new FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__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 ClassTemplateSpecialization(native, skipVTables); + return new FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__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 ClassTemplateSpecialization(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 ClassTemplateSpecialization() - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11957,9 +11653,14 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -11987,21 +11688,39 @@ namespace CppSharp __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + public global::CppSharp.Parser.AST.FunctionTemplate Template { get { - global::CppSharp.Parser.AST.ClassTemplate __result0; - if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + 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.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl = 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; } } @@ -12009,12 +11728,12 @@ namespace CppSharp { get { - return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; } } @@ -12028,9 +11747,9 @@ namespace CppSharp } } - public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 312)] + [StructLayout(LayoutKind.Explicit, Size = 132)] public new partial struct __Internal { [FieldOffset(0)] @@ -12088,133 +11807,75 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(104)] - internal global::Std.__1.Vector.__Internal Namespaces; - - [FieldOffset(116)] - internal global::Std.__1.Vector.__Internal Enums; - - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal Functions; - - [FieldOffset(140)] - internal global::Std.__1.Vector.__Internal Classes; - - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Templates; - - [FieldOffset(164)] - internal global::Std.__1.Vector.__Internal Typedefs; - - [FieldOffset(176)] - internal global::Std.__1.Vector.__Internal TypeAliases; - - [FieldOffset(188)] - internal global::Std.__1.Vector.__Internal Variables; - - [FieldOffset(200)] - internal global::Std.__1.Vector.__Internal Friends; - - [FieldOffset(212)] - internal global::Std.__1.Map.__Internal anonymous; - - [FieldOffset(224)] - public byte isAnonymous; - - [FieldOffset(228)] - internal global::Std.__1.Vector.__Internal Bases; - - [FieldOffset(240)] - internal global::Std.__1.Vector.__Internal Fields; - - [FieldOffset(252)] - internal global::Std.__1.Vector.__Internal Methods; - - [FieldOffset(264)] - internal global::Std.__1.Vector.__Internal Specifiers; - - [FieldOffset(276)] - public byte isPOD; - - [FieldOffset(277)] - public byte isAbstract; - - [FieldOffset(278)] - public byte isUnion; - - [FieldOffset(279)] - public byte isDynamic; - - [FieldOffset(280)] - public byte isPolymorphic; - - [FieldOffset(281)] - public byte hasNonTrivialDefaultConstructor; - - [FieldOffset(282)] - public byte hasNonTrivialCopyConstructor; - - [FieldOffset(283)] - public byte hasNonTrivialDestructor; + public global::System.IntPtr TemplatedDecl; - [FieldOffset(284)] - public byte isExternCContext; + [FieldOffset(108)] + internal global::Std.__1.Vector.__Internal Parameters; - [FieldOffset(285)] - public byte isInjected; + [FieldOffset(120)] + internal global::Std.__1.Vector.__Internal Specializations; - [FieldOffset(288)] - public global::System.IntPtr layout; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(292)] - public global::System.IntPtr templatedDecl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(296)] - internal global::Std.__1.Vector.__Internal Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(308)] - public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] + internal static extern void AddSpecializations_0(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_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount_0(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.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new VarTemplate(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.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new ClassTemplatePartialSpecialization(native, skipVTables); + return new VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__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 ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12223,19 +11884,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12253,6 +11914,39 @@ namespace CppSharp if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + } + + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } } public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable @@ -12645,9 +12339,9 @@ namespace CppSharp } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 132)] + [StructLayout(LayoutKind.Explicit, Size = 228)] public new partial struct __Internal { [FieldOffset(0)] @@ -12705,144 +12399,264 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(104)] - public global::System.IntPtr TemplatedDecl; + internal global::Std.__1.Vector.__Internal Namespaces; - [FieldOffset(108)] - internal global::Std.__1.Vector.__Internal Parameters; + [FieldOffset(116)] + internal global::Std.__1.Vector.__Internal Enums; - [FieldOffset(120)] - internal global::Std.__1.Vector.__Internal Specializations; + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal Functions; + + [FieldOffset(140)] + internal global::Std.__1.Vector.__Internal Classes; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Templates; + + [FieldOffset(164)] + internal global::Std.__1.Vector.__Internal Typedefs; + + [FieldOffset(176)] + internal global::Std.__1.Vector.__Internal TypeAliases; + + [FieldOffset(188)] + internal global::Std.__1.Vector.__Internal Variables; + + [FieldOffset(200)] + internal global::Std.__1.Vector.__Internal Friends; + + [FieldOffset(212)] + internal global::Std.__1.Map.__Internal anonymous; + + [FieldOffset(224)] + public byte isAnonymous; + + [FieldOffset(225)] + public byte isInline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Namespace(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] - internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + { + return new Namespace(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Namespace(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Namespace() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Namespace(global::CppSharp.Parser.AST.Namespace _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class PreprocessedEntity : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(4)] + public global::System.IntPtr originalPtr; + + [FieldOffset(8)] + public global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.VarTemplate __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.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new VarTemplate(native.ToPointer(), skipVTables); + return new PreprocessedEntity(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.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) { - return new VarTemplate(native, skipVTables); + return new PreprocessedEntity(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; return ret.ToPointer(); } - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected PreprocessedEntity(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VarTemplate() - : this((void*) null) + public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) - : this((void*) null) + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__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_1((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { - var __ret = __Internal.GetSpecializations_0((__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; - } + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; + } - 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_0((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation = value; + } } - public void ClearSpecializations() + public global::System.IntPtr OriginalPtr { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; + } + + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.DeclarationKind Kind { get { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind = value; } } } @@ -16423,6 +16237,192 @@ namespace CppSharp } } } + + public unsafe partial class RawComment : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.RawCommentKind kind; + + [FieldOffset(4)] + public global::Std.__1.BasicString.__Internal Text; + + [FieldOffset(16)] + public global::Std.__1.BasicString.__Internal BriefText; + + [FieldOffset(28)] + public global::System.IntPtr fullCommentBlock; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7getTextEv")] + internal static extern global::System.IntPtr Text_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc")] + internal static extern void SetText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv")] + internal static extern global::System.IntPtr BriefText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc")] + internal static extern void SetBriefText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } + + 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 RawComment(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + { + return new RawComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected RawComment(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public RawComment() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public RawComment(global::CppSharp.Parser.AST.RawComment _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.RawComment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + 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 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; + } + } + + public string Text + { + get + { + var __ret = __Internal.Text_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetText_0((__Instance + __PointerAdjustment), value); + } + } + + public string BriefText + { + get + { + var __ret = __Internal.BriefText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBriefText_0((__Instance + __PointerAdjustment), value); + } + } + } } } } 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 f4844c22..849a13bd 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 @@ -669,201 +669,192 @@ namespace CppSharp } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 140)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(16)] - public int lineNumberStart; - - [FieldOffset(20)] - public int lineNumberEnd; - - [FieldOffset(24)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(72)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(96)] - public byte isIncomplete; - - [FieldOffset(97)] public byte isDependent; - [FieldOffset(98)] - public byte isImplicit; - - [FieldOffset(100)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(104)] - public uint definitionOrder; - - [FieldOffset(108)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(120)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(132)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; + [FieldOffset(8)] + public global::System.IntPtr declaration; [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_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="??0TagType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_0(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="??0TagType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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_0(global::System.IntPtr instance, int delete); + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TagType(native.ToPointer(), skipVTables); + } - [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_0(global::System.IntPtr instance, uint i); + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + { + return new TagType(native, skipVTables); + } - [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_0(global::System.IntPtr instance, global::System.IntPtr s); + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearPreprocessedEntities_0(global::System.IntPtr instance); + private TagType(global::CppSharp.Parser.AST.TagType.__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="?getRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEPAV1234@I@Z")] - internal static extern global::System.IntPtr GetRedeclarations_0(global::System.IntPtr instance, uint i); + protected TagType(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="?addRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEXAAPAV1234@@Z")] - internal static extern void AddRedeclarations_0(global::System.IntPtr instance, global::System.IntPtr s); + public TagType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearRedeclarations_0(global::System.IntPtr instance); + 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_1((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getName@Declaration@AST@CppParser@CppSharp@@QAEPBDXZ")] - internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?setName@Declaration@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + set + { + ((global::CppSharp.Parser.AST.TagType.__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="?getUSR@Declaration@AST@CppParser@CppSharp@@QAEPBDXZ")] - internal static extern global::System.IntPtr USR_0(global::System.IntPtr instance); + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?setUSR@Declaration@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void SetUSR_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(4)] + public byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getDebugText@Declaration@AST@CppParser@CppSharp@@QAEPBDXZ")] - internal static extern global::System.IntPtr DebugText_0(global::System.IntPtr instance); + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?setDebugText@Declaration@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void SetDebugText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(16)] + public global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + + [FieldOffset(20)] + public int size; + + [FieldOffset(24)] + public int elementSize; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getPreprocessedEntitiesCount@Declaration@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetPreprocessedEntitiesCount_0(global::System.IntPtr instance); + EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_0(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_0(global::System.IntPtr instance); + EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(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; + 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 Declaration(native.ToPointer(), skipVTables); + return new 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 Declaration(native, skipVTables); + return new 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_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_1(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_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__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)) @@ -872,322 +863,375 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - Dispose(disposing: true); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 virtual void Dispose(bool disposing) + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType = value; + } } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + public int Size { - var __ret = __Internal.GetPreprocessedEntities_0((__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)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size = value; + } } - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + public int ElementSize { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize = value; + } } + } - public void ClearPreprocessedEntities() + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 36)] + public new partial struct __Internal { - __Internal.ClearPreprocessedEntities_0((__Instance + __PointerAdjustment)); + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + public byte isDependent; + + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(16)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(20)] + public global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(24)] + internal global::Std.Vector.__Internal 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_0(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_1(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_0(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_0(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_0(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_0(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_0(global::System.IntPtr instance); } - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetRedeclarations_0((__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; + return new FunctionType(native.ToPointer(), skipVTables); } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__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.AddRedeclarations_0((__Instance + __PointerAdjustment), __arg0); + return new FunctionType(native, skipVTables); } - public void ClearRedeclarations() + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - __Internal.ClearRedeclarations_0((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - return new global::CppSharp.Parser.AST.Declaration(kind); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.DeclarationKind Kind + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind = value; - } + public FunctionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; - } + __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_1((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access = value; - } + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - 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; - } + var __ret = __Internal.GetParameters_0((__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; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.SourceLocation Location + public void ClearParameters() + { + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + } + + 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(((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 bool IsIncomplete + public uint ParametersCount { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; } + } + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete = (byte) (value ? 1 : 0); - } - } - - public bool IsDependent + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent = (byte) (value ? 1 : 0); - } - } + [FieldOffset(4)] + public byte isDependent; - public bool IsImplicit - { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; - } + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit = (byte) (value ? 1 : 0); - } - } + [FieldOffset(16)] + public global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration - { - 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; - } + [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_0(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__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_1(global::System.IntPtr instance, global::System.IntPtr _0); } - public uint DefinitionOrder + public enum TypeModifier { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder = value; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 } - public global::System.IntPtr OriginalPtr + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; - } + return new PointerType(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.RawComment Comment + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - 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; - } + return new PointerType(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public string Name + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - __Internal.SetName_0((__Instance + __PointerAdjustment), value); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public string USR + public PointerType() + : this((void*) null) { - get - { - var __ret = __Internal.USR_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - set - { - __Internal.SetUSR_0((__Instance + __PointerAdjustment), value); - } + 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_1((__Instance + __PointerAdjustment), __arg0); } - public string DebugText + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - var __ret = __Internal.DebugText_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee); } set { - __Internal.SetDebugText_0((__Instance + __PointerAdjustment), value); + ((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 uint PreprocessedEntitiesCount + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - var __ret = __Internal.GetPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } - } - public uint RedeclarationsCount - { - get + set { - var __ret = __Internal.GetRedeclarationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier = value; } } } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] @@ -1197,44 +1241,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr declaration; + public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TagType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0MemberPointerType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TagType(native.ToPointer(), skipVTables); + return new MemberPointerType(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.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) { - return new TagType(native, skipVTables); + return new MemberPointerType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TagType(void* native, bool skipVTables = false) + protected MemberPointerType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1243,19 +1287,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TagType() + public MemberPointerType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TagType(global::CppSharp.Parser.AST.TagType _0) + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1264,28 +1308,23 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.QualifiedType Pointee { 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(((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee); } set { - ((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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 ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] @@ -1295,61 +1334,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(16)] - public global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(20)] - public int size; - - [FieldOffset(24)] - public int elementSize; + public global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - public enum ArraySize + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + return new TypedefType(native.ToPointer(), skipVTables); } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) { - return new ArrayType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - { - return new ArrayType(native, skipVTables); + return new TypedefType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ArrayType(void* native, bool skipVTables = false) + protected TypedefType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1358,19 +1380,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ArrayType() + public TypedefType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1379,174 +1401,190 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->qualifiedType); + 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.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.TypedefType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } + } - public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType = value; - } + [FieldOffset(4)] + public byte isDependent; + + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + + [FieldOffset(16)] + public 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_0(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_1(global::System.IntPtr instance, global::System.IntPtr _0); } - public int Size + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new AttributedType(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + { + return new AttributedType(native, skipVTables); + } + + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AttributedType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AttributedType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + 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_1((__Instance + __PointerAdjustment), __arg0); + } + + public global::CppSharp.Parser.AST.QualifiedType Modified { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified); } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size = value; + ((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; } } - public int ElementSize + public global::CppSharp.Parser.AST.QualifiedType Equivalent { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent); } set { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize = value; + ((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; } } } - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + public global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; [FieldOffset(16)] - public int lineNumberStart; - - [FieldOffset(20)] - public int lineNumberEnd; + public global::CppSharp.Parser.AST.QualifiedType.__Internal original; [FieldOffset(24)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(72)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(96)] - public byte isIncomplete; - - [FieldOffset(97)] - public byte isDependent; - - [FieldOffset(98)] - public byte isImplicit; - - [FieldOffset(100)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(104)] - public uint definitionOrder; - - [FieldOffset(108)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(120)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(132)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; - - [FieldOffset(140)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(148)] - public byte isIndirect; - - [FieldOffset(149)] - public byte hasDefaultValue; - - [FieldOffset(152)] - public uint index; - - [FieldOffset(156)] - public global::System.IntPtr defaultArgument; + public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Parameter@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.Parameter __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 Parameter(native.ToPointer(), skipVTables); + return new DecayedType(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.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new Parameter(native, skipVTables); + return new DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__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 Parameter(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1555,19 +1593,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Parameter() + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Parameter(global::CppSharp.Parser.AST.Parameter _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1576,90 +1614,215 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.QualifiedType Decayed { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed); } 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; + ((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 bool IsIndirect + public global::CppSharp.Parser.AST.QualifiedType Original { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original); } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect = (byte) (value ? 1 : 0); + ((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 bool HasDefaultValue + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee); } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + ((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 uint Index + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(12)] + public global::System.IntPtr declaration; + + [FieldOffset(16)] + public int integral; + + [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_0(global::System.IntPtr instance); + + [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_1(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 TemplateArgument(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + { + return new 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_0((__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) + { + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index = value; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind = value; } } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public global::CppSharp.Parser.AST.QualifiedType Type { 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 global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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.Parameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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 FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -1669,78 +1832,75 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(16)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::Std.Vector.__Internal Arguments; [FieldOffset(20)] - public global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + public global::System.IntPtr _template; [FieldOffset(24)] - internal global::Std.Vector.__Internal Parameters; + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(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_0(global::System.IntPtr instance, uint i); + EntryPoint="?getArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments_0(global::System.IntPtr instance, global::System.IntPtr @return, 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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] + internal static extern void AddArguments_0(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_0(global::System.IntPtr instance); + EntryPoint="?clearArguments@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments_0(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_0(global::System.IntPtr instance); + EntryPoint="?getArgumentsCount@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount_0(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.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new FunctionType(native.ToPointer(), skipVTables); + return new TemplateSpecializationType(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.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new FunctionType(native, skipVTables); + return new TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__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 FunctionType(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1749,19 +1909,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionType() + public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1780,82 +1940,70 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - var __ret = __Internal.GetParameters_0((__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.TemplateArgument.__Internal(); + __Internal.GetArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public void AddParameters(global::CppSharp.Parser.AST.Parameter 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 (&)."); var __arg0 = s.__Instance; - __Internal.AddParameters_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddArguments_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearParameters() + public void ClearArguments() { - __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.Template Template { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType); + 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.FunctionType.__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.CallingConvention CallingConvention - { - get - { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; - } - - set - { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention = value; + ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType = 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 uint ParametersCount + public uint ArgumentsCount { get { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { [FieldOffset(0)] @@ -1865,55 +2013,72 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + internal global::Std.Vector.__Internal Arguments; - [FieldOffset(16)] - public global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + [FieldOffset(20)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - } - public enum TypeModifier - { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); + + [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + + [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_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArgumentsCount@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount_0(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.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new PointerType(native.ToPointer(), skipVTables); + return new DependentTemplateSpecializationType(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.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new PointerType(native, skipVTables); + return new DependentTemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PointerType(global::CppSharp.Parser.AST.PointerType.__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 PointerType(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1922,19 +2087,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public PointerType() + public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public PointerType(global::CppSharp.Parser.AST.PointerType _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1943,36 +2108,62 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared); } 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.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.PointerType.TypeModifier Modifier + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; - } - - set - { - ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier = value; + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, 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)] @@ -1982,44 +2173,58 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + public global::System.IntPtr parameter; + + [FieldOffset(12)] + public uint depth; + + [FieldOffset(16)] + public uint index; + + [FieldOffset(20)] + public byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + internal static extern void dtor_0(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.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new MemberPointerType(native.ToPointer(), skipVTables); + return new TemplateParameterType(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.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new MemberPointerType(native, skipVTables); + return new TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__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 MemberPointerType(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2028,19 +2233,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MemberPointerType() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2049,123 +2254,127 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee); + 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.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.TemplateParameterType.__Internal*) __Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 148)] - public new partial struct __Internal + public uint Depth { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + } - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth = value; + } + } - [FieldOffset(8)] - public global::System.IntPtr _namespace; + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index = value; + } + } - [FieldOffset(16)] - public int lineNumberStart; + public bool IsParameterPack + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + } - [FieldOffset(20)] - public int lineNumberEnd; - - [FieldOffset(24)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(72)] - public global::Std.BasicString.__Internal DebugText; + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); + } + } + } - [FieldOffset(96)] - public byte isIncomplete; + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(97)] + [FieldOffset(4)] public byte isDependent; - [FieldOffset(98)] - public byte isImplicit; - - [FieldOffset(100)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(104)] - public uint definitionOrder; - - [FieldOffset(108)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(120)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(132)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; - [FieldOffset(140)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(16)] + public global::System.IntPtr replacedParameter; [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_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TypedefNameDecl@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __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 TypedefNameDecl(native.ToPointer(), skipVTables); + return new TemplateParameterSubstitutionType(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.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new TypedefNameDecl(native, skipVTables); + return new TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__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 TypedefNameDecl(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2174,19 +2383,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2195,38 +2404,41 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType Replacement { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement); + } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) - { - return new global::CppSharp.Parser.AST.TypedefNameDecl(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.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType); + 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.TypedefNameDecl.__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.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { [FieldOffset(0)] @@ -2236,44 +2448,47 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr declaration; + public global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + + [FieldOffset(16)] + public global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.TypedefType __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 TypedefType(native.ToPointer(), skipVTables); + return new InjectedClassNameType(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.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new TypedefType(native, skipVTables); + return new InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__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 TypedefType(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2282,19 +2497,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefType() + public InjectedClassNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2303,28 +2518,41 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { 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.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.Class Class + { + 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.TypedefType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] @@ -2334,47 +2562,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal modified; - - [FieldOffset(16)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new AttributedType(native.ToPointer(), skipVTables); + return new DependentNameType(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.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) { - return new AttributedType(native, skipVTables); + return new DependentNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected AttributedType(void* native, bool skipVTables = false) + protected DependentNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2383,19 +2608,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public DependentNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2404,36 +2629,23 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified); - } - - 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; - } - } - - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared); } 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.DependentNameType.__Internal*) __Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] @@ -2442,51 +2654,125 @@ namespace CppSharp [FieldOffset(4)] public byte isDependent; - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + [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_0(global::System.IntPtr instance); - [FieldOffset(16)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal original; + [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new PackExpansionType(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + { + return new 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); + } + } + + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + public byte isDependent; + + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(16)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0UnaryTransformType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DecayedType __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 DecayedType(native.ToPointer(), skipVTables); + return new UnaryTransformType(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.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) { - return new DecayedType(native, skipVTables); + return new UnaryTransformType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__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 DecayedType(void* native, bool skipVTables = false) + protected UnaryTransformType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2495,19 +2781,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2516,343 +2802,192 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared); } 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::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 global::CppSharp.Parser.AST.QualifiedType Pointee + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType); } 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.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 TemplateArgument : IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 20)] - public partial struct __Internal + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal type; + public byte isDependent; - [FieldOffset(12)] - public global::System.IntPtr declaration; + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; [FieldOffset(16)] - public int integral; + public uint numElements; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0VectorType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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) + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateArgument(native.ToPointer(), skipVTables); + return new VectorType(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.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) { - return new TemplateArgument(native, skipVTables); + return new VectorType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__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.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateArgument(void* native, bool skipVTables = false) + protected VectorType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public VectorType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public VectorType(global::CppSharp.Parser.AST.VectorType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__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) - { - global::CppSharp.Parser.AST.TemplateArgument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__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_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind + public global::CppSharp.Parser.AST.QualifiedType ElementType { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType); } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind = value; + ((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; } } - public global::CppSharp.Parser.AST.QualifiedType Type + public uint NumElements { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type); + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; } 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.VectorType.__Internal*) __Instance)->numElements = value; } } + } - public global::CppSharp.Parser.AST.Declaration Declaration + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct __Internal { - 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 Template : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 156)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(16)] - public int lineNumberStart; - - [FieldOffset(20)] - public int lineNumberEnd; - - [FieldOffset(24)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(72)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(96)] - public byte isIncomplete; - - [FieldOffset(97)] public byte isDependent; - [FieldOffset(98)] - public byte isImplicit; - - [FieldOffset(100)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(104)] - public uint definitionOrder; - - [FieldOffset(108)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(120)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(132)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; - - [FieldOffset(140)] - public global::System.IntPtr TemplatedDecl; - - [FieldOffset(144)] - internal global::Std.Vector.__Internal 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_0(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_1(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_2(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_0(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_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(8)] + public global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearParameters@Template@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearParameters_0(global::System.IntPtr instance); + EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_0(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_0(global::System.IntPtr instance); + EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Template(native.ToPointer(), skipVTables); + return new BuiltinType(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.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) { - return new Template(native, skipVTables); + return new BuiltinType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Template(void* native, bool skipVTables = false) + protected BuiltinType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2861,383 +2996,273 @@ namespace CppSharp __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_0((__Instance + __PointerAdjustment), kind); - } - - public Template() + public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_1((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Template(global::CppSharp.Parser.AST.Template _0) + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __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_2((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__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); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public global::CppSharp.Parser.AST.PrimitiveType Type { 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.BuiltinType.__Internal*) __Instance)->type; } 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_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type = value; } } } - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VTableComponent : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; + public global::CppSharp.Parser.AST.VTableComponentKind kind; [FieldOffset(4)] - public byte isDependent; + public uint offset; [FieldOffset(8)] - internal global::Std.Vector.__Internal Arguments; - - [FieldOffset(20)] - public global::System.IntPtr _template; - - [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + public global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0VTableComponent@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] internal static extern global::System.IntPtr cctor_1(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_0(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@TemplateSpecializationType@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] - internal static extern void GetArguments_0(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@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] - internal static extern void AddArguments_0(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@TemplateSpecializationType@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments_0(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_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateSpecializationType(native.ToPointer(), skipVTables); + return new VTableComponent(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.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - return new TemplateSpecializationType(native, skipVTables); + return new VTableComponent(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(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 TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__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 TemplateSpecializationType(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 TemplateSpecializationType() - : this((void*) null) + public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) - : this((void*) null) + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + public void Dispose() { - 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_0((__Instance + __PointerAdjustment), __arg0); + Dispose(disposing: true); } - public void ClearArguments() + public virtual void Dispose(bool disposing) { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + global::CppSharp.Parser.AST.VTableComponent __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Template Template + public global::CppSharp.Parser.AST.VTableComponentKind Kind { 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.VTableComponent.__Internal*) __Instance)->kind; } set { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind = value; } } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public uint Offset { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared); + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; } 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.VTableComponent.__Internal*) __Instance)->offset = value; } } - public uint ArgumentsCount + public global::CppSharp.Parser.AST.Declaration Declaration { get { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); - return __ret; + 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 DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VTableLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 28)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - internal global::Std.Vector.__Internal Arguments; - - [FieldOffset(20)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + internal global::Std.Vector.__Internal Components; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1VTableLayout@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + EntryPoint="?getComponents@VTableLayout@AST@CppParser@CppSharp@@QAE?AUVTableComponent@234@I@Z")] + internal static extern void GetComponents_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); [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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addComponents@VTableLayout@AST@CppParser@CppSharp@@QAEXAAUVTableComponent@234@@Z")] + internal static extern void AddComponents_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + EntryPoint="?clearComponents@VTableLayout@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearComponents_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + EntryPoint="?getComponentsCount@VTableLayout@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetComponentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __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 DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new VTableLayout(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.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) { - return new DependentTemplateSpecializationType(native, skipVTables); + return new VTableLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__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 DependentTemplateSpecializationType(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 DependentTemplateSpecializationType() - : this((void*) null) + public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) - : this((void*) null) + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3246,9 +3271,14 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Type __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VTableLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -3256,182 +3286,119 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); + __Internal.GetComponents_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); } - public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument 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.AddArguments_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.AddComponents_0((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public void ClearComponents() { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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; - } + __Internal.ClearComponents_0((__Instance + __PointerAdjustment)); } - public uint ArgumentsCount + public uint ComponentsCount { get { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetComponentsCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class VFTableInfo : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 160)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public ulong VBTableIndex; [FieldOffset(8)] - public global::System.IntPtr _namespace; + public uint VFPtrOffset; [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + public uint VFPtrFullOffset; [FieldOffset(16)] - public int lineNumberStart; + public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - [FieldOffset(20)] - public int lineNumberEnd; + [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_0(global::System.IntPtr instance); - [FieldOffset(24)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(72)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(96)] - public byte isIncomplete; - - [FieldOffset(97)] - public byte isDependent; - - [FieldOffset(98)] - public byte isImplicit; - - [FieldOffset(100)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(104)] - public uint definitionOrder; - - [FieldOffset(108)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(120)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(132)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; - - [FieldOffset(140)] - public uint depth; - - [FieldOffset(144)] - public uint index; - - [FieldOffset(148)] - public byte isParameterPack; - - [FieldOffset(152)] - public 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")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(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="??1VFTableInfo@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __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 TypeTemplateParameter(native.ToPointer(), skipVTables); + return new VFTableInfo(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.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - return new TypeTemplateParameter(native, skipVTables); + return new VFTableInfo(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__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 TypeTemplateParameter(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 TypeTemplateParameter() - : this((void*) null) + public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3440,9 +3407,14 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VFTableInfo __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -3450,116 +3422,168 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public ulong VBTableIndex { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; } 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.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(((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 TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class LayoutField : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; + public uint offset; [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::System.IntPtr parameter; - - [FieldOffset(12)] - public uint depth; + public global::Std.BasicString.__Internal Name; - [FieldOffset(16)] - public uint index; + [FieldOffset(28)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(20)] - public byte isParameterPack; + [FieldOffset(36)] + public global::System.IntPtr fieldPtr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="??0LayoutField@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TemplateParameterType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1LayoutField@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getName@LayoutField@AST@CppParser@CppSharp@@QAEPBDXZ")] + internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?setName@LayoutField@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __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 TemplateParameterType(native.ToPointer(), skipVTables); + return new LayoutField(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.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) { - return new TemplateParameterType(native, skipVTables); + return new LayoutField(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + global::CppSharp.Parser.AST.LayoutField.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__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 TemplateParameterType(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 TemplateParameterType() - : this((void*) null) + public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) - : this((void*) null) + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__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_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Type __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.LayoutField __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -3567,457 +3591,353 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter + public uint Offset { 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; + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset = value; } } - public uint Depth + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType); } set { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth = value; + ((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 Index + public global::System.IntPtr FieldPtr { get { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; } set { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index = value; + ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr = (global::System.IntPtr) value; } } - public bool IsParameterPack + public string Name { get { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack != 0; + var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); + __Internal.SetName_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class LayoutBase : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; + public uint offset; [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; - - [FieldOffset(16)] - public global::System.IntPtr replacedParameter; + public global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr other); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1LayoutBase@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __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 TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new LayoutBase(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.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new TemplateParameterSubstitutionType(native, skipVTables); + return new LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__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 TemplateParameterSubstitutionType(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 TemplateParameterSubstitutionType() - : this((void*) null) + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) - : this((void*) null) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__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_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.LayoutBase __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public uint Offset { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement); + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; } 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; + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset = value; } } - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public global::CppSharp.Parser.AST.Class Class { 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); + 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.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 324)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 72)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + internal global::Std.Vector.__Internal VFTables; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [FieldOffset(16)] + public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(28)] + public byte hasOwnVFPtr; - [FieldOffset(16)] - public int lineNumberStart; + [FieldOffset(32)] + public int VBPtrOffset; - [FieldOffset(20)] - public int lineNumberEnd; + [FieldOffset(36)] + public int alignment; - [FieldOffset(24)] - public global::Std.BasicString.__Internal Name; + [FieldOffset(40)] + public int size; + + [FieldOffset(44)] + public int dataSize; [FieldOffset(48)] - public global::Std.BasicString.__Internal USR; + internal global::Std.Vector.__Internal Fields; - [FieldOffset(72)] - public global::Std.BasicString.__Internal DebugText; + [FieldOffset(60)] + internal global::Std.Vector.__Internal Bases; - [FieldOffset(96)] - public byte isIncomplete; + [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_0(global::System.IntPtr instance); - [FieldOffset(97)] - public byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(98)] - public byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1ClassLayout@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); - [FieldOffset(100)] - public global::System.IntPtr completeDeclaration; + [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - [FieldOffset(104)] - public uint definitionOrder; + [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_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(108)] - internal global::Std.Vector.__Internal PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearVFTables@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearVFTables_0(global::System.IntPtr instance); - [FieldOffset(120)] - internal global::Std.Vector.__Internal Redeclarations; + [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - [FieldOffset(132)] - public global::System.IntPtr originalPtr; + [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_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(136)] - public global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearFields@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearFields_0(global::System.IntPtr instance); - [FieldOffset(140)] - internal global::Std.Vector.__Internal Namespaces; + [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - [FieldOffset(152)] - internal global::Std.Vector.__Internal Enums; + [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_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(164)] - internal global::Std.Vector.__Internal Functions; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearBases@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearBases_0(global::System.IntPtr instance); - [FieldOffset(176)] - internal global::Std.Vector.__Internal Classes; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getVFTablesCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetVFTablesCount_0(global::System.IntPtr instance); - [FieldOffset(188)] - internal global::Std.Vector.__Internal Templates; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getFieldsCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); - [FieldOffset(200)] - internal global::Std.Vector.__Internal Typedefs; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getBasesCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetBasesCount_0(global::System.IntPtr instance); + } - [FieldOffset(212)] - internal global::Std.Vector.__Internal TypeAliases; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(224)] - internal global::Std.Vector.__Internal Variables; - - [FieldOffset(236)] - internal global::Std.Vector.__Internal Friends; - - [FieldOffset(248)] - internal global::Std.Map.__Internal anonymous; - - [FieldOffset(256)] - public byte isAnonymous; - - [FieldOffset(260)] - internal global::Std.Vector.__Internal Bases; - - [FieldOffset(272)] - internal global::Std.Vector.__Internal Fields; - - [FieldOffset(284)] - internal global::Std.Vector.__Internal Methods; - - [FieldOffset(296)] - internal global::Std.Vector.__Internal Specifiers; - - [FieldOffset(308)] - public byte isPOD; - - [FieldOffset(309)] - public byte isAbstract; - - [FieldOffset(310)] - public byte isUnion; - - [FieldOffset(311)] - public byte isDynamic; - - [FieldOffset(312)] - public byte isPolymorphic; - - [FieldOffset(313)] - public byte hasNonTrivialDefaultConstructor; - - [FieldOffset(314)] - public byte hasNonTrivialCopyConstructor; - - [FieldOffset(315)] - public byte hasNonTrivialDestructor; - - [FieldOffset(316)] - public byte isExternCContext; - - [FieldOffset(317)] - public byte isInjected; - - [FieldOffset(320)] - public 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_0(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_1(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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="?getSpecifiersCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetSpecifiersCount_0(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 Class(native.ToPointer(), skipVTables); + return new 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 Class(native, skipVTables); + return new 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_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_1(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_0((__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)) @@ -4026,9 +3946,14 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -4036,42 +3961,34 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) { - var __ret = __Internal.GetBases_0((__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_0((__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_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddVFTables_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearBases() + public void ClearVFTables() { - __Internal.ClearBases_0((__Instance + __PointerAdjustment)); + __Internal.ClearVFTables_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Field GetFields(uint i) + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) { - var __ret = __Internal.GetFields_0((__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_0((__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 (&)."); @@ -4084,207 +4001,122 @@ namespace CppSharp __Internal.ClearFields_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.Method GetMethods(uint i) + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) { - var __ret = __Internal.GetMethods_0((__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; + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); } - public void AddMethods(global::CppSharp.Parser.AST.Method 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.AddMethods_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBases_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearMethods() + public void ClearBases() { - __Internal.ClearMethods_0((__Instance + __PointerAdjustment)); + __Internal.ClearBases_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) - { - var __ret = __Internal.GetSpecifiers_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecifiers() - { - __Internal.ClearSpecifiers_0((__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 + 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(((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_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetVFTablesCount_0((__Instance + __PointerAdjustment)); return __ret; } } @@ -4298,210 +4130,211 @@ namespace CppSharp } } - public uint MethodsCount - { - get - { - var __ret = __Internal.GetMethodsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint SpecifiersCount + public uint BasesCount { get { - var __ret = __Internal.GetSpecifiersCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 140)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - public byte isDependent; + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; [FieldOffset(16)] - public global::System.IntPtr _class; + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(72)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(96)] + public byte isIncomplete; + + [FieldOffset(97)] + public byte isDependent; + + [FieldOffset(98)] + public byte isImplicit; + + [FieldOffset(100)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(104)] + public uint definitionOrder; + + [FieldOffset(108)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(120)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(132)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; [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_0(global::System.IntPtr instance); + EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor_0(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="??0Declaration@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - } - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new InjectedClassNameType(native.ToPointer(), skipVTables); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Declaration@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) - { - return new InjectedClassNameType(native, skipVTables); - } + [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_0(global::System.IntPtr instance, uint i); - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [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_0(global::System.IntPtr instance, global::System.IntPtr s); - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__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="?clearPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearPreprocessedEntities_0(global::System.IntPtr instance); - protected InjectedClassNameType(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="?getRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEPAV1234@I@Z")] + internal static extern global::System.IntPtr GetRedeclarations_0(global::System.IntPtr instance, uint i); - public InjectedClassNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + [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_0(global::System.IntPtr instance, global::System.IntPtr s); - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__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_1((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearRedeclarations@Declaration@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearRedeclarations_0(global::System.IntPtr instance); - 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; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getName@Declaration@AST@CppParser@CppSharp@@QAEPBDXZ")] + internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); - public global::CppSharp.Parser.AST.Class Class - { - 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; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?setName@Declaration@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - set - { - ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getUSR@Declaration@AST@CppParser@CppSharp@@QAEPBDXZ")] + internal static extern global::System.IntPtr USR_0(global::System.IntPtr instance); - public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?setUSR@Declaration@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void SetUSR_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - [FieldOffset(4)] - public byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getDebugText@Declaration@AST@CppParser@CppSharp@@QAEPBDXZ")] + internal static extern global::System.IntPtr DebugText_0(global::System.IntPtr instance); - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?setDebugText@Declaration@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void SetDebugText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); [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_0(global::System.IntPtr instance); + EntryPoint="?getPreprocessedEntitiesCount@Declaration@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetPreprocessedEntitiesCount_0(global::System.IntPtr instance); [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?getRedeclarationsCount@Declaration@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetRedeclarationsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.DependentNameType __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 DependentNameType(native.ToPointer(), skipVTables); + return new Declaration(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.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new DependentNameType(native, skipVTables); + return new Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__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 DependentNameType(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 DependentNameType() - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) - : this((void*) null) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -4510,640 +4343,653 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public void Dispose() { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared); - } - - set - { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } + Dispose(disposing: true); } - } - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal + public virtual void Dispose(bool disposing) { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [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_0(global::System.IntPtr instance); - - [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) { - return new PackExpansionType(native.ToPointer(), skipVTables); + var __ret = __Internal.GetPreprocessedEntities_0((__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; } - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) { - return new PackExpansionType(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.AddPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) + public void ClearPreprocessedEntities() { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + __Internal.ClearPreprocessedEntities_0((__Instance + __PointerAdjustment)); } - private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + var __ret = __Internal.GetRedeclarations_0((__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; } - protected PackExpansionType(void* native, bool skipVTables = false) - : base((void*) null) + public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration 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.AddRedeclarations_0((__Instance + __PointerAdjustment), __arg0); } - public PackExpansionType() - : this((void*) null) + public void ClearRedeclarations() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ClearRedeclarations_0((__Instance + __PointerAdjustment)); } - public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) - : this((void*) null) + public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __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_1((__Instance + __PointerAdjustment), __arg0); + return new global::CppSharp.Parser.AST.Declaration(kind); } - } - public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.DeclarationKind Kind { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; + } - [FieldOffset(4)] - public byte isDependent; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind = value; + } + } - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + public global::CppSharp.Parser.AST.AccessSpecifier Access + { + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; + } - [FieldOffset(16)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access = value; + } } - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.DeclarationContext Namespace { - return new UnaryTransformType(native.ToPointer(), skipVTables); - } + 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; + } - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) - { - return new UnaryTransformType(native, skipVTables); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + public global::CppSharp.Parser.SourceLocation Location { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + } - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location = value.__Instance; + } } - protected UnaryTransformType(void* native, bool skipVTables = false) - : base((void*) null) + public int LineNumberStart { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + } - public UnaryTransformType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart = value; + } } - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) - : this((void*) null) + public int LineNumberEnd { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__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_1((__Instance + __PointerAdjustment), __arg0); + 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 Desugared + public bool IsIncomplete { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared); + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; } 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; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType BaseType + public bool IsDependent { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType); + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; } 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.Declaration.__Internal*) __Instance)->isDependent = (byte) (value ? 1 : 0); } } - } - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 20)] - public new partial struct __Internal + public bool IsImplicit { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - - [FieldOffset(16)] - public uint numElements; - - [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_0(global::System.IntPtr instance); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; + } - [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { - return new VectorType(native.ToPointer(), skipVTables); - } + 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; + } - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) - { - return new VectorType(native, skipVTables); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) + public uint DefinitionOrder { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - global::CppSharp.Parser.AST.VectorType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; + } - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder = value; + } } - protected VectorType(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; + } - public VectorType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; + } } - public VectorType(global::CppSharp.Parser.AST.VectorType _0) - : this((void*) null) + public global::CppSharp.Parser.AST.RawComment Comment { - __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_1((__Instance + __PointerAdjustment), __arg0); + 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.QualifiedType ElementType + public string Name { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType); + var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } 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; + __Internal.SetName_0((__Instance + __PointerAdjustment), value); } } - public uint NumElements + public string USR { get { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; + var __ret = __Internal.USR_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements = value; + __Internal.SetUSR_0((__Instance + __PointerAdjustment), value); } } - } - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal + public string DebugText { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; + get + { + var __ret = __Internal.DebugText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public 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_0(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_1(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 BuiltinType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - { - return new 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); + set + { + __Internal.SetDebugText_0((__Instance + __PointerAdjustment), value); + } } - public global::CppSharp.Parser.AST.PrimitiveType Type + public uint PreprocessedEntitiesCount { get { - return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; + var __ret = __Internal.GetPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint RedeclarationsCount + { + get { - ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type = value; + var __ret = __Internal.GetRedeclarationsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class VTableComponent : IDisposable + public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 260)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.VTableComponentKind kind; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - public uint offset; + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr declaration; - - [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_0(global::System.IntPtr instance); + public global::System.IntPtr _namespace; - [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_1(global::System.IntPtr instance, global::System.IntPtr _0); - } + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - public global::System.IntPtr __Instance { get; protected set; } + [FieldOffset(16)] + public int lineNumberStart; - protected int __PointerAdjustment; - internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); - protected void*[] __OriginalVTables; + [FieldOffset(20)] + public int lineNumberEnd; - protected bool __ownsNativeInstance; + [FieldOffset(24)] + public global::Std.BasicString.__Internal Name; - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new VTableComponent(native.ToPointer(), skipVTables); - } + [FieldOffset(48)] + public global::Std.BasicString.__Internal USR; - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) - { - return new VTableComponent(native, skipVTables); - } + [FieldOffset(72)] + public global::Std.BasicString.__Internal DebugText; - 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(); - } + [FieldOffset(96)] + public byte isIncomplete; - private VTableComponent(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(97)] + public byte isDependent; - protected VTableComponent(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(98)] + public byte isImplicit; - public VTableComponent() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + [FieldOffset(100)] + public global::System.IntPtr completeDeclaration; - 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); - } + [FieldOffset(104)] + public uint definitionOrder; - public void Dispose() - { - Dispose(disposing: true); - } + [FieldOffset(108)] + internal global::Std.Vector.__Internal PreprocessedEntities; - public virtual void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.VTableComponent __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } + [FieldOffset(120)] + internal global::Std.Vector.__Internal Redeclarations; - public global::CppSharp.Parser.AST.VTableComponentKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; - } + [FieldOffset(132)] + public global::System.IntPtr originalPtr; - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind = value; - } - } + [FieldOffset(136)] + public global::System.IntPtr comment; - public uint Offset - { - get - { - return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; - } + [FieldOffset(140)] + internal global::Std.Vector.__Internal Namespaces; - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset = value; - } - } + [FieldOffset(152)] + internal global::Std.Vector.__Internal Enums; - 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(164)] + internal global::Std.Vector.__Internal Functions; - set - { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } + [FieldOffset(176)] + internal global::Std.Vector.__Internal Classes; - public unsafe partial class VTableLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.Vector.__Internal Components; + [FieldOffset(188)] + internal global::Std.Vector.__Internal Templates; - [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_0(global::System.IntPtr instance); + [FieldOffset(200)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(212)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(224)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(236)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(248)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(256)] + public byte isAnonymous; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + EntryPoint="??0DeclarationContext@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor_0(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_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VTableLayout@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1DeclarationContext@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + EntryPoint="?getNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVNamespace@234@I@Z")] + internal static extern global::System.IntPtr GetNamespaces_0(global::System.IntPtr instance, uint i); [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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVNamespace@234@@Z")] + internal static extern void AddNamespaces_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearComponents@VTableLayout@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearComponents_0(global::System.IntPtr instance); + EntryPoint="?clearNamespaces@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearNamespaces_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getComponentsCount@VTableLayout@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetComponentsCount_0(global::System.IntPtr instance); - } + EntryPoint="?getEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEPAVEnumeration@234@I@Z")] + internal static extern global::System.IntPtr GetEnums_0(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="?addEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEXAAPAVEnumeration@234@@Z")] + internal static extern void AddEnums_0(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="?clearEnums@DeclarationContext@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearEnums_0(global::System.IntPtr instance); - protected bool __ownsNativeInstance; + [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_0(global::System.IntPtr instance, uint i); - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + [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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new VTableLayout(native.ToPointer(), skipVTables); + return new DeclarationContext(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.DeclarationContext __CreateInstance(global::CppSharp.Parser.AST.DeclarationContext.__Internal native, bool skipVTables = false) { - return new VTableLayout(native, skipVTables); + return new DeclarationContext(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); - global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__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 VTableLayout(void* native, bool skipVTables = false) + protected DeclarationContext(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableLayout() + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5152,14 +4998,9 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.VTableLayout __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -5167,304 +5008,457 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) - { - var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); - __Internal.GetComponents_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); - } - - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) + public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) { - if (ReferenceEquals(s, null)) - throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __ret = __Internal.GetNamespaces_0((__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 void AddNamespaces(global::CppSharp.Parser.AST.Namespace 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_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddNamespaces_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearComponents() + public void ClearNamespaces() { - __Internal.ClearComponents_0((__Instance + __PointerAdjustment)); + __Internal.ClearNamespaces_0((__Instance + __PointerAdjustment)); } - public uint ComponentsCount + public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) { - get - { - var __ret = __Internal.GetComponentsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } + var __ret = __Internal.GetEnums_0((__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 VFTableInfo : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public partial struct __Internal + public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) { - [FieldOffset(0)] - public ulong VBTableIndex; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(8)] - public uint VFPtrOffset; + public void ClearEnums() + { + __Internal.ClearEnums_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(12)] - public uint VFPtrFullOffset; + public global::CppSharp.Parser.AST.Function GetFunctions(uint i) + { + var __ret = __Internal.GetFunctions_0((__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; + } - [FieldOffset(16)] - public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [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_0(global::System.IntPtr instance); + public void ClearFunctions() + { + __Internal.ClearFunctions_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + public global::CppSharp.Parser.AST.Class GetClasses(uint i) + { + var __ret = __Internal.GetClasses_0((__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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1VFTableInfo@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + 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_0((__Instance + __PointerAdjustment), __arg0); } - public global::System.IntPtr __Instance { get; protected set; } + public void ClearClasses() + { + __Internal.ClearClasses_0((__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.Template GetTemplates(uint i) + { + var __ret = __Internal.GetTemplates_0((__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 bool __ownsNativeInstance; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public void ClearTemplates() { - return new VFTableInfo(native.ToPointer(), skipVTables); + __Internal.ClearTemplates_0((__Instance + __PointerAdjustment)); } - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) + public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) { - return new VFTableInfo(native, skipVTables); + var __ret = __Internal.GetTypedefs_0((__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; } - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) + public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(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.AddTypedefs_0((__Instance + __PointerAdjustment), __arg0); } - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public void ClearTypedefs() { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + __Internal.ClearTypedefs_0((__Instance + __PointerAdjustment)); } - protected VFTableInfo(void* native, bool skipVTables = false) + public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + var __ret = __Internal.GetTypeAliases_0((__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 VFTableInfo() + public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__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.AddTypeAliases_0((__Instance + __PointerAdjustment), __arg0); } - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + public void ClearTypeAliases() { - __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_1((__Instance + __PointerAdjustment), __arg0); + __Internal.ClearTypeAliases_0((__Instance + __PointerAdjustment)); } - public void Dispose() + public global::CppSharp.Parser.AST.Variable GetVariables(uint i) { - Dispose(disposing: true); + var __ret = __Internal.GetVariables_0((__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 virtual void Dispose(bool disposing) + public void AddVariables(global::CppSharp.Parser.AST.Variable s) { - global::CppSharp.Parser.AST.VFTableInfo __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__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.AddVariables_0((__Instance + __PointerAdjustment), __arg0); } - public ulong VBTableIndex + public void ClearVariables() + { + __Internal.ClearVariables_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + { + var __ret = __Internal.GetFriends_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFriends() + { + __Internal.ClearFriends_0((__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.VFTableInfo.__Internal*) __Instance)->VBTableIndex; + return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex = value; + ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous = (byte) (value ? 1 : 0); } } - public uint VFPtrOffset + public uint NamespacesCount { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; + var __ret = __Internal.GetNamespacesCount_0((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint EnumsCount + { + get { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset = value; + var __ret = __Internal.GetEnumsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } - public uint VFPtrFullOffset + public uint FunctionsCount { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + var __ret = __Internal.GetFunctionsCount_0((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint ClassesCount + { + get { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset = value; + var __ret = __Internal.GetClassesCount_0((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public uint TemplatesCount { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout); + var __ret = __Internal.GetTemplatesCount_0((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint TypedefsCount + { + get { - ((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; + var __ret = __Internal.GetTypedefsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint TypeAliasesCount + { + get + { + var __ret = __Internal.GetTypeAliasesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint VariablesCount + { + get + { + var __ret = __Internal.GetVariablesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint FriendsCount + { + get + { + var __ret = __Internal.GetFriendsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class LayoutField : IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 148)] + public new partial struct __Internal { [FieldOffset(0)] - public uint offset; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(16)] + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] public global::Std.BasicString.__Internal Name; - [FieldOffset(28)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(48)] + public global::Std.BasicString.__Internal USR; - [FieldOffset(36)] - public global::System.IntPtr fieldPtr; + [FieldOffset(72)] + public global::Std.BasicString.__Internal DebugText; - [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_0(global::System.IntPtr instance); + [FieldOffset(96)] + public byte isIncomplete; - [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_1(global::System.IntPtr instance, global::System.IntPtr other); + [FieldOffset(97)] + public byte isDependent; + + [FieldOffset(98)] + public byte isImplicit; + + [FieldOffset(100)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(104)] + public uint definitionOrder; + + [FieldOffset(108)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(120)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(132)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(140)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1LayoutField@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getName@LayoutField@AST@CppParser@CppSharp@@QAEPBDXZ")] - internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); + EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?setName@LayoutField@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="??1TypedefNameDecl@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor_0(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) + internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new LayoutField(native.ToPointer(), skipVTables); + return new TypedefNameDecl(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.TypedefNameDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native, bool skipVTables = false) { - return new LayoutField(native, skipVTables); + return new TypedefNameDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__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 LayoutField(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 LayoutField() + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__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_1((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.LayoutField __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -5472,353 +5466,295 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public uint Offset + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset = value; - } + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 string Name - { - get - { - var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType); } set { - __Internal.SetName_0((__Instance + __PointerAdjustment), 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 LayoutBase : IDisposable + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 148)] + public new partial struct __Internal { [FieldOffset(0)] - public uint offset; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - public global::System.IntPtr _class; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(16)] + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(72)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(96)] + public byte isIncomplete; + + [FieldOffset(97)] + public byte isDependent; + + [FieldOffset(98)] + public byte isImplicit; + + [FieldOffset(100)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(104)] + public uint definitionOrder; + + [FieldOffset(108)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(120)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(132)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(140)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [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_1(global::System.IntPtr instance, global::System.IntPtr other); + EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1LayoutBase@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(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_0(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.TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new LayoutBase(native.ToPointer(), skipVTables); + return new TypedefDecl(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.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new LayoutBase(native, skipVTables); + return new TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private LayoutBase(global::CppSharp.Parser.AST.LayoutBase.__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 LayoutBase(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutBase() + public TypedefDecl() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__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_1((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.LayoutBase __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - - 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 ClassLayout : IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 72)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 152)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.CppAbi ABI; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal global::Std.Vector.__Internal VFTables; - - [FieldOffset(16)] - public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + public global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(28)] - public byte hasOwnVFPtr; + [FieldOffset(8)] + public global::System.IntPtr _namespace; - [FieldOffset(32)] - public int VBPtrOffset; + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(36)] - public int alignment; + [FieldOffset(16)] + public int lineNumberStart; - [FieldOffset(40)] - public int size; + [FieldOffset(20)] + public int lineNumberEnd; - [FieldOffset(44)] - public int dataSize; + [FieldOffset(24)] + public global::Std.BasicString.__Internal Name; [FieldOffset(48)] - internal global::Std.Vector.__Internal Fields; + public global::Std.BasicString.__Internal USR; - [FieldOffset(60)] - internal global::Std.Vector.__Internal Bases; + [FieldOffset(72)] + public global::Std.BasicString.__Internal DebugText; - [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_0(global::System.IntPtr instance); + [FieldOffset(96)] + public byte isIncomplete; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(97)] + public byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1ClassLayout@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + [FieldOffset(98)] + public byte isImplicit; - [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + [FieldOffset(100)] + public global::System.IntPtr completeDeclaration; - [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_0(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(104)] + public uint definitionOrder; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearVFTables@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearVFTables_0(global::System.IntPtr instance); + [FieldOffset(108)] + internal global::Std.Vector.__Internal PreprocessedEntities; - [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + [FieldOffset(120)] + internal global::Std.Vector.__Internal Redeclarations; - [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_0(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(132)] + public global::System.IntPtr originalPtr; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearFields@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearFields_0(global::System.IntPtr instance); + [FieldOffset(136)] + public global::System.IntPtr comment; - [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + [FieldOffset(140)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(148)] + public global::System.IntPtr describedAliasTemplate; [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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearBases@ClassLayout@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearBases_0(global::System.IntPtr instance); + EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getVFTablesCount@ClassLayout@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetVFTablesCount_0(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_0(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_0(global::System.IntPtr instance); + EntryPoint="??1TypeAlias@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor_0(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.ClassLayout __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 ClassLayout(native.ToPointer(), skipVTables); + return new TypeAlias(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.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) { - return new ClassLayout(native, skipVTables); + return new TypeAlias(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__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 ClassLayout(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 ClassLayout() + public TypeAlias() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5827,14 +5763,9 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.ClassLayout __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -5842,188 +5773,28 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) - { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearVFTables() - { - __Internal.ClearVFTables_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFields() - { - __Internal.ClearFields_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBases() - { - __Internal.ClearBases_0((__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(((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 + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + 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.ClassLayout.__Internal*) __Instance)->dataSize = value; - } - } - - public uint VFTablesCount - { - get - { - var __ret = __Internal.GetVFTablesCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint BasesCount - { - get - { - var __ret = __Internal.GetBasesCount_0((__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 DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 260)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { [FieldOffset(0)] @@ -6081,259 +5852,49 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(140)] - internal global::Std.Vector.__Internal Namespaces; + public global::System.IntPtr declaration; - [FieldOffset(152)] - internal global::Std.Vector.__Internal Enums; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Friend@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); - [FieldOffset(164)] - internal global::Std.Vector.__Internal Functions; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(188)] - internal global::Std.Vector.__Internal Templates; - - [FieldOffset(200)] - internal global::Std.Vector.__Internal Typedefs; - - [FieldOffset(212)] - internal global::Std.Vector.__Internal TypeAliases; - - [FieldOffset(224)] - internal global::Std.Vector.__Internal Variables; - - [FieldOffset(236)] - internal global::Std.Vector.__Internal Friends; - - [FieldOffset(248)] - internal global::Std.Map.__Internal anonymous; - - [FieldOffset(256)] - public 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_0(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_1(global::System.IntPtr instance, global::System.IntPtr _0); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0Friend@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1Friend@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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_0(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.Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new DeclarationContext(native.ToPointer(), skipVTables); + return new Friend(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.Friend __CreateInstance(global::CppSharp.Parser.AST.Friend.__Internal native, bool skipVTables = false) { - return new DeclarationContext(native, skipVTables); + return new Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DeclarationContext.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); - global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext.__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 DeclarationContext(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -6342,19 +5903,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6373,425 +5934,487 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) - { - var __ret = __Internal.GetNamespaces_0((__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 void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) + public global::CppSharp.Parser.AST.Declaration Declaration { - 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_0((__Instance + __PointerAdjustment), __arg0); - } + 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; + } - public void ClearNamespaces() - { - __Internal.ClearNamespaces_0((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } + } - public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) + public unsafe partial class Statement : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal { - var __ret = __Internal.GetEnums_0((__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(0)] + public global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(4)] + public global::System.IntPtr decl; + + [FieldOffset(8)] + public global::Std.BasicString.__Internal String; + + [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Statement@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getString@Statement@AST@CppParser@CppSharp@@QAEPBDXZ")] + internal static extern global::System.IntPtr String_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?setString@Statement@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void SetString_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) + 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) { - 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_0((__Instance + __PointerAdjustment), __arg0); + return new Statement(native.ToPointer(), skipVTables); } - public void ClearEnums() + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) { - __Internal.ClearEnums_0((__Instance + __PointerAdjustment)); + return new Statement(native, skipVTables); } - public global::CppSharp.Parser.AST.Function GetFunctions(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) { - var __ret = __Internal.GetFunctions_0((__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; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + global::CppSharp.Parser.AST.Statement.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public void AddFunctions(global::CppSharp.Parser.AST.Function s) + private Statement(global::CppSharp.Parser.AST.Statement.__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.AddFunctions_0((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearFunctions() + protected Statement(void* native, bool skipVTables = false) { - __Internal.ClearFunctions_0((__Instance + __PointerAdjustment)); + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public global::CppSharp.Parser.AST.Class GetClasses(uint i) + public Statement(global::CppSharp.Parser.AST.Statement _0) { - var __ret = __Internal.GetClasses_0((__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; + __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_1((__Instance + __PointerAdjustment), __arg0); } - public void AddClasses(global::CppSharp.Parser.AST.Class s) + public void Dispose() { - 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_0((__Instance + __PointerAdjustment), __arg0); + Dispose(disposing: true); } - public void ClearClasses() + public virtual void Dispose(bool disposing) { - __Internal.ClearClasses_0((__Instance + __PointerAdjustment)); + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Template GetTemplates(uint i) + public global::CppSharp.Parser.AST.StatementClass Class { - var __ret = __Internal.GetTemplates_0((__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; + get + { + return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; + } + + set + { + ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class = value; + } } - public void AddTemplates(global::CppSharp.Parser.AST.Template s) + public global::CppSharp.Parser.AST.Declaration Decl { - 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_0((__Instance + __PointerAdjustment), __arg0); + 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; + } + + set + { + ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public void ClearTemplates() + public string String { - __Internal.ClearTemplates_0((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.String_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetString_0((__Instance + __PointerAdjustment), value); + } } + } - public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { - var __ret = __Internal.GetTypedefs_0((__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(0)] + public global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(4)] + public global::System.IntPtr decl; + + [FieldOffset(8)] + public global::Std.BasicString.__Internal String; + + [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1Expression@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) + internal static new global::CppSharp.Parser.AST.Expression __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.AddTypedefs_0((__Instance + __PointerAdjustment), __arg0); + return new Expression(native.ToPointer(), skipVTables); } - public void ClearTypedefs() + internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) { - __Internal.ClearTypedefs_0((__Instance + __PointerAdjustment)); + return new Expression(native, skipVTables); } - public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) + private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) { - var __ret = __Internal.GetTypeAliases_0((__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; + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + global::CppSharp.Parser.AST.Expression.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + private Expression(global::CppSharp.Parser.AST.Expression.__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.AddTypeAliases_0((__Instance + __PointerAdjustment), __arg0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public void ClearTypeAliases() - { - __Internal.ClearTypeAliases_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + protected Expression(void* native, bool skipVTables = false) + : base((void*) null) { - var __ret = __Internal.GetVariables_0((__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; + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public void AddVariables(global::CppSharp.Parser.AST.Variable s) + public Expression(global::CppSharp.Parser.AST.Expression _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.AddVariables_0((__Instance + __PointerAdjustment), __arg0); + __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_1((__Instance + __PointerAdjustment), __arg0); } - public void ClearVariables() + public override void Dispose(bool disposing) { - __Internal.ClearVariables_0((__Instance + __PointerAdjustment)); + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } + } - public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal { - var __ret = __Internal.GetFriends_0((__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; + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(4)] + public global::System.IntPtr decl; + + [FieldOffset(8)] + public global::Std.BasicString.__Internal String; + + [FieldOffset(32)] + public global::System.IntPtr LHS; + + [FieldOffset(36)] + public global::System.IntPtr RHS; + + [FieldOffset(40)] + public global::Std.BasicString.__Internal OpcodeStr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(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")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getOpcodeStr@BinaryOperator@AST@CppParser@CppSharp@@QAEPBDXZ")] + internal static extern global::System.IntPtr OpcodeStr_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?setOpcodeStr@BinaryOperator@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void SetOpcodeStr_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - public void AddFriends(global::CppSharp.Parser.AST.Friend s) + internal static new global::CppSharp.Parser.AST.BinaryOperator __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.AddFriends_0((__Instance + __PointerAdjustment), __arg0); + return new BinaryOperator(native.ToPointer(), skipVTables); } - public void ClearFriends() + internal static global::CppSharp.Parser.AST.BinaryOperator __CreateInstance(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) { - __Internal.ClearFriends_0((__Instance + __PointerAdjustment)); + return new BinaryOperator(native, skipVTables); } - public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) { - return new global::CppSharp.Parser.AST.DeclarationContext(kind); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public bool IsAnonymous + private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous != 0; - } - - set - { - ((global::CppSharp.Parser.AST.DeclarationContext.__Internal*) __Instance)->isAnonymous = (byte) (value ? 1 : 0); - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public uint NamespacesCount + protected BinaryOperator(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - var __ret = __Internal.GetNamespacesCount_0((__Instance + __PointerAdjustment)); - return __ret; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public uint EnumsCount + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + : this((void*) null) { - get - { - var __ret = __Internal.GetEnumsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__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_1((__Instance + __PointerAdjustment), __arg0); } - public uint FunctionsCount + public override void Dispose(bool disposing) { - get - { - var __ret = __Internal.GetFunctionsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public uint ClassesCount + public global::CppSharp.Parser.AST.Expression LHS { get { - var __ret = __Internal.GetClassesCount_0((__Instance + __PointerAdjustment)); - return __ret; + 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 uint TemplatesCount - { - get + set { - var __ret = __Internal.GetTemplatesCount_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint TypedefsCount + public global::CppSharp.Parser.AST.Expression RHS { get { - var __ret = __Internal.GetTypedefsCount_0((__Instance + __PointerAdjustment)); - return __ret; + 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; } - } - public uint TypeAliasesCount - { - get + set { - var __ret = __Internal.GetTypeAliasesCount_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint VariablesCount + public string OpcodeStr { get { - var __ret = __Internal.GetVariablesCount_0((__Instance + __PointerAdjustment)); - return __ret; + var __ret = __Internal.OpcodeStr_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } - } - public uint FriendsCount - { - get + set { - var __ret = __Internal.GetFriendsCount_0((__Instance + __PointerAdjustment)); - return __ret; + __Internal.SetOpcodeStr_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 44)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.RawCommentKind kind; + public global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(4)] - public global::Std.BasicString.__Internal Text; - - [FieldOffset(28)] - public global::Std.BasicString.__Internal BriefText; + public global::System.IntPtr decl; - [FieldOffset(52)] - public global::System.IntPtr fullCommentBlock; + [FieldOffset(8)] + public global::Std.BasicString.__Internal String; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + [FieldOffset(32)] + internal global::Std.Vector.__Internal Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0CallExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1CallExpr@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getText@RawComment@AST@CppParser@CppSharp@@QAEPBDXZ")] - internal static extern global::System.IntPtr Text_0(global::System.IntPtr instance); + EntryPoint="?getArguments@CallExpr@AST@CppParser@CppSharp@@QAEPAVExpression@234@I@Z")] + internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?setText@RawComment@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void SetText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="?addArguments@CallExpr@AST@CppParser@CppSharp@@QAEXAAPAVExpression@234@@Z")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getBriefText@RawComment@AST@CppParser@CppSharp@@QAEPBDXZ")] - internal static extern global::System.IntPtr BriefText_0(global::System.IntPtr instance); + EntryPoint="?clearArguments@CallExpr@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?setBriefText@RawComment@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void SetBriefText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="?getArgumentsCount@CallExpr@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount_0(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.RawComment __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 RawComment(native.ToPointer(), skipVTables); + return new CallExpr(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__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 RawComment(native, skipVTables); + return new CallExpr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__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 RawComment(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 RawComment() - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6800,14 +6423,9 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -6815,555 +6433,113 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.RawCommentKind Kind + public global::CppSharp.Parser.AST.Expression 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 = __Internal.GetArguments_0((__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.FullComment FullCommentBlock + public void AddArguments(global::CppSharp.Parser.AST.Expression s) { - 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; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public string Text + public void ClearArguments() { - get - { - var __ret = __Internal.Text_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } - - set - { - __Internal.SetText_0((__Instance + __PointerAdjustment), value); - } + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); } - public string BriefText + public uint ArgumentsCount { get { - var __ret = __Internal.BriefText_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } - - set - { - __Internal.SetBriefText_0((__Instance + __PointerAdjustment), value); + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class PreprocessedEntity : IDisposable + public unsafe partial class CXXConstructExpr : 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)] - public global::CppSharp.Parser.AST.MacroLocation macroLocation; + public global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(4)] - public global::System.IntPtr originalPtr; + public global::System.IntPtr decl; [FieldOffset(8)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::Std.BasicString.__Internal String; - [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_0(global::System.IntPtr instance); + [FieldOffset(32)] + internal global::Std.Vector.__Internal Arguments; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new PreprocessedEntity(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) - { - return new 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_0((__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) - { - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.MacroLocation MacroLocation - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation = value; - } - } - - public global::System.IntPtr OriginalPtr - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; - } - } - - public global::CppSharp.Parser.AST.DeclarationKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind = value; - } - } - } - - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 284)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(16)] - public int lineNumberStart; - - [FieldOffset(20)] - public int lineNumberEnd; - - [FieldOffset(24)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(72)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(96)] - public byte isIncomplete; - - [FieldOffset(97)] - public byte isDependent; - - [FieldOffset(98)] - public byte isImplicit; - - [FieldOffset(100)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(104)] - public uint definitionOrder; - - [FieldOffset(108)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(120)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(132)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; - - [FieldOffset(140)] - internal global::Std.Vector.__Internal Namespaces; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal Enums; - - [FieldOffset(164)] - internal global::Std.Vector.__Internal Functions; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(188)] - internal global::Std.Vector.__Internal Templates; - - [FieldOffset(200)] - internal global::Std.Vector.__Internal Typedefs; - - [FieldOffset(212)] - internal global::Std.Vector.__Internal TypeAliases; - - [FieldOffset(224)] - internal global::Std.Vector.__Internal Variables; - - [FieldOffset(236)] - internal global::Std.Vector.__Internal Friends; - - [FieldOffset(248)] - internal global::Std.Map.__Internal anonymous; - - [FieldOffset(256)] - public byte isAnonymous; - - [FieldOffset(260)] - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; - - [FieldOffset(264)] - public global::System.IntPtr type; - - [FieldOffset(268)] - public global::System.IntPtr builtinType; - - [FieldOffset(272)] - internal global::Std.Vector.__Internal Items; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1CXXConstructExpr@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(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_0(global::System.IntPtr instance, uint i); - - [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_0(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearItems@Enumeration@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearItems_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getItemsCount@Enumeration@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetItemsCount_0(global::System.IntPtr instance); - } - - [Flags] - public enum EnumModifiers - { - Anonymous = 1, - Scoped = 2, - Flags = 4 - } - - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 176)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(16)] - public int lineNumberStart; - - [FieldOffset(20)] - public int lineNumberEnd; - - [FieldOffset(24)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(72)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(96)] - public byte isIncomplete; - - [FieldOffset(97)] - public byte isDependent; - - [FieldOffset(98)] - public byte isImplicit; - - [FieldOffset(100)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(104)] - public uint definitionOrder; - - [FieldOffset(108)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(120)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(132)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; - - [FieldOffset(140)] - public global::Std.BasicString.__Internal Expression; - - [FieldOffset(168)] - public 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_0(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_1(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_0(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getExpression@Item@Enumeration@AST@CppParser@CppSharp@@QAEPBDXZ")] - internal static extern global::System.IntPtr Expression_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?setExpression@Item@Enumeration@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void SetExpression_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - } - - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new 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 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - 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; - } - } + [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_0(global::System.IntPtr instance, uint i); - public string Expression - { - get - { - var __ret = __Internal.Expression_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + [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_0(global::System.IntPtr instance, global::System.IntPtr s); - set - { - __Internal.SetExpression_0((__Instance + __PointerAdjustment), value); - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArgumentsCount@CXXConstructExpr@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Enumeration __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 Enumeration(native.ToPointer(), skipVTables); + return new CXXConstructExpr(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__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 Enumeration(native, skipVTables); + return new CXXConstructExpr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__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 Enumeration(void* native, bool skipVTables = false) + protected CXXConstructExpr(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7372,19 +6548,10 @@ namespace CppSharp __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_0((__Instance + __PointerAdjustment)); - } - - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7395,7 +6562,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -7403,92 +6570,43 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) { - var __ret = __Internal.GetItems_0((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Enumeration.Item __result0; + var __ret = __Internal.GetArguments_0((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Expression __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); + 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 AddItems(global::CppSharp.Parser.AST.Enumeration.Item 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.AddItems_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearItems() - { - __Internal.ClearItems_0((__Instance + __PointerAdjustment)); - } - - 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; - } + __Internal.AddArguments_0((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.BuiltinType BuiltinType + public void ClearArguments() { - 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; - } + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); } - public uint ItemsCount + public uint ArgumentsCount { get { - var __ret = __Internal.GetItemsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 268)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { [FieldOffset(0)] @@ -7546,150 +6664,61 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(140)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(148)] - public byte isReturnIndirect; + public byte isIndirect; [FieldOffset(149)] - public byte hasThisReturn; - - [FieldOffset(150)] - public byte isConstExpr; - - [FieldOffset(151)] - public byte isVariadic; + public byte hasDefaultValue; [FieldOffset(152)] - public byte isInline; - - [FieldOffset(153)] - public byte isPure; - - [FieldOffset(154)] - public byte isDeleted; + public uint index; [FieldOffset(156)] - public global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(160)] - public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(164)] - public global::Std.BasicString.__Internal Mangled; - - [FieldOffset(188)] - public global::Std.BasicString.__Internal Signature; - - [FieldOffset(212)] - public global::Std.BasicString.__Internal Body; - - [FieldOffset(236)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(240)] - internal global::Std.Vector.__Internal Parameters; - - [FieldOffset(252)] - public global::System.IntPtr specializationInfo; - - [FieldOffset(256)] - public global::System.IntPtr instantiatedFrom; - - [FieldOffset(260)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public global::System.IntPtr defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Function@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Function@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1Parameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(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_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getMangled@Function@AST@CppParser@CppSharp@@QAEPBDXZ")] - internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?setMangled@Function@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSignature@Function@AST@CppParser@CppSharp@@QAEPBDXZ")] - internal static extern global::System.IntPtr Signature_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?setSignature@Function@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getBody@Function@AST@CppParser@CppSharp@@QAEPBDXZ")] - internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?setBody@Function@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getParametersCount@Function@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetParametersCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Function __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 Function(native.ToPointer(), skipVTables); + return new Parameter(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__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 Function(native, skipVTables); + return new Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Function(global::CppSharp.Parser.AST.Function.__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 Function(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7698,19 +6727,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Function() + public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Function(global::CppSharp.Parser.AST.Function _0) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7729,277 +6758,80 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.FriendKind FriendKind + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->qualifiedType); } set { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind = 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.CXXOperatorKind OperatorKind + public bool IsIndirect { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect != 0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind = value; + ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->isIndirect = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + public bool HasDefaultValue { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention = value; + ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + public uint Index { 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.Parameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index = value; } } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + public global::CppSharp.Parser.AST.Expression DefaultArgument { 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.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.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(((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 string Mangled - { - get - { - var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } - - set - { - __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); - } - } - - public string Signature - { - get - { - var __ret = __Internal.Signature_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } - - set - { - __Internal.SetSignature_0((__Instance + __PointerAdjustment), value); - } - } - - public string Body - { - get - { - var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } - - set - { - __Internal.SetBody_0((__Instance + __PointerAdjustment), value); - } - } - - public uint ParametersCount - { - get - { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 148)] + [StructLayout(LayoutKind.Explicit, Size = 268)] public new partial struct __Internal { [FieldOffset(0)] @@ -8057,49 +6889,150 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(140)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(148)] + public byte isReturnIndirect; + + [FieldOffset(149)] + public byte hasThisReturn; + + [FieldOffset(150)] + public byte isConstExpr; + + [FieldOffset(151)] + public byte isVariadic; + + [FieldOffset(152)] + public byte isInline; + + [FieldOffset(153)] + public byte isPure; + + [FieldOffset(154)] + public byte isDeleted; + + [FieldOffset(156)] + public global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(160)] + public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(164)] + public global::Std.BasicString.__Internal Mangled; + + [FieldOffset(188)] + public global::Std.BasicString.__Internal Signature; + + [FieldOffset(212)] + public global::Std.BasicString.__Internal Body; + + [FieldOffset(236)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(240)] + internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(252)] + public global::System.IntPtr specializationInfo; + + [FieldOffset(256)] + public global::System.IntPtr instantiatedFrom; + + [FieldOffset(260)] public 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")] + EntryPoint="??0Function@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Function@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1Function@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(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_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getMangled@Function@AST@CppParser@CppSharp@@QAEPBDXZ")] + internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?setMangled@Function@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSignature@Function@AST@CppParser@CppSharp@@QAEPBDXZ")] + internal static extern global::System.IntPtr Signature_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?setSignature@Function@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getBody@Function@AST@CppParser@CppSharp@@QAEPBDXZ")] + internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?setBody@Function@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getParametersCount@Function@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetParametersCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefDecl __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 TypedefDecl(native.ToPointer(), skipVTables); + return new Function(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.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new TypedefDecl(native, skipVTables); + return new Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__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 TypedefDecl(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8108,19 +7041,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefDecl() + public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8138,175 +7071,278 @@ namespace CppSharp if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 152)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(16)] - public int lineNumberStart; - - [FieldOffset(20)] - public int lineNumberEnd; + var __ret = __Internal.GetParameters_0((__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(24)] - public global::Std.BasicString.__Internal Name; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(48)] - public global::Std.BasicString.__Internal USR; + public void ClearParameters() + { + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(72)] - public global::Std.BasicString.__Internal DebugText; + public global::CppSharp.Parser.AST.QualifiedType ReturnType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType); + } - [FieldOffset(96)] - public byte isIncomplete; + 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; + } + } - [FieldOffset(97)] - public byte isDependent; + public bool IsReturnIndirect + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + } - [FieldOffset(98)] - public byte isImplicit; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + } + } - [FieldOffset(100)] - public global::System.IntPtr completeDeclaration; + public bool HasThisReturn + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + } - [FieldOffset(104)] - public uint definitionOrder; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn = (byte) (value ? 1 : 0); + } + } - [FieldOffset(108)] - internal global::Std.Vector.__Internal PreprocessedEntities; + public bool IsConstExpr + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + } - [FieldOffset(120)] - internal global::Std.Vector.__Internal Redeclarations; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr = (byte) (value ? 1 : 0); + } + } - [FieldOffset(132)] - public global::System.IntPtr originalPtr; + public bool IsVariadic + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + } - [FieldOffset(136)] - public global::System.IntPtr comment; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(140)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + } - [FieldOffset(148)] - public global::System.IntPtr describedAliasTemplate; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + public bool IsPure + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure = (byte) (value ? 1 : 0); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1TypeAlias@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + 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); + } } - internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.FriendKind FriendKind { - return new TypeAlias(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind = value; + } } - internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind { - return new TypeAlias(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind = value; + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention = value; + } } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + 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; + } } - protected TypeAlias(void* native, bool skipVTables = false) - : base((void*) null) + public global::CppSharp.Parser.AST.Function InstantiatedFrom { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + 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 TypeAlias() - : this((void*) null) + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) - : this((void*) null) + public string Mangled { - __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_1((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); + } } - public override void Dispose(bool disposing) + public string Signature { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + get + { + var __ret = __Internal.Signature_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetSignature_0((__Instance + __PointerAdjustment), value); + } } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public string Body { 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.Body_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + __Internal.SetBody_0((__Instance + __PointerAdjustment), value); + } + } + + public uint ParametersCount + { + get + { + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 264)] + [StructLayout(LayoutKind.Explicit, Size = 296)] public new partial struct __Internal { [FieldOffset(0)] @@ -8357,89 +7393,140 @@ namespace CppSharp [FieldOffset(120)] internal global::Std.Vector.__Internal Redeclarations; - [FieldOffset(132)] - public global::System.IntPtr originalPtr; + [FieldOffset(132)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(140)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(148)] + public byte isReturnIndirect; + + [FieldOffset(149)] + public byte hasThisReturn; + + [FieldOffset(150)] + public byte isConstExpr; + + [FieldOffset(151)] + public byte isVariadic; + + [FieldOffset(152)] + public byte isInline; + + [FieldOffset(153)] + public byte isPure; + + [FieldOffset(154)] + public byte isDeleted; + + [FieldOffset(156)] + public global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(160)] + public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(164)] + public global::Std.BasicString.__Internal Mangled; + + [FieldOffset(188)] + public global::Std.BasicString.__Internal Signature; + + [FieldOffset(212)] + public global::Std.BasicString.__Internal Body; + + [FieldOffset(236)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(240)] + internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(252)] + public global::System.IntPtr specializationInfo; - [FieldOffset(136)] - public global::System.IntPtr comment; + [FieldOffset(256)] + public global::System.IntPtr instantiatedFrom; - [FieldOffset(140)] - internal global::Std.Vector.__Internal Namespaces; + [FieldOffset(260)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(152)] - internal global::Std.Vector.__Internal Enums; + [FieldOffset(268)] + public byte isVirtual; - [FieldOffset(164)] - internal global::Std.Vector.__Internal Functions; + [FieldOffset(269)] + public byte isStatic; - [FieldOffset(176)] - internal global::Std.Vector.__Internal Classes; + [FieldOffset(270)] + public byte isConst; - [FieldOffset(188)] - internal global::Std.Vector.__Internal Templates; + [FieldOffset(271)] + public byte isExplicit; - [FieldOffset(200)] - internal global::Std.Vector.__Internal Typedefs; + [FieldOffset(272)] + public byte isOverride; - [FieldOffset(212)] - internal global::Std.Vector.__Internal TypeAliases; + [FieldOffset(276)] + public global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(224)] - internal global::Std.Vector.__Internal Variables; + [FieldOffset(280)] + public byte isDefaultConstructor; - [FieldOffset(236)] - internal global::Std.Vector.__Internal Friends; + [FieldOffset(281)] + public byte isCopyConstructor; - [FieldOffset(248)] - internal global::Std.Map.__Internal anonymous; + [FieldOffset(282)] + public byte isMoveConstructor; - [FieldOffset(256)] - public byte isAnonymous; + [FieldOffset(284)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(260)] - public byte isInline; + [FieldOffset(292)] + public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Method@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0Method@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1Method@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(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.Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Namespace(native.ToPointer(), skipVTables); + return new Method(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.Method __CreateInstance(global::CppSharp.Parser.AST.Method.__Internal native, bool skipVTables = false) { - return new Namespace(native, skipVTables); + return new Method(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__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 Namespace(void* native, bool skipVTables = false) + protected Method(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8448,19 +7535,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8479,169 +7566,153 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsInline + public bool IsVirtual { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; } set { - ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); } } - } - public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 156)] - public new partial struct __Internal + public bool IsStatic { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(16)] - public int lineNumberStart; - - [FieldOffset(20)] - public int lineNumberEnd; - - [FieldOffset(24)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(72)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(96)] - public byte isIncomplete; - - [FieldOffset(97)] - public byte isDependent; - - [FieldOffset(98)] - public byte isImplicit; - - [FieldOffset(100)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(104)] - public uint definitionOrder; - - [FieldOffset(108)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(120)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(132)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; - - [FieldOffset(140)] - public global::System.IntPtr TemplatedDecl; - - [FieldOffset(144)] - internal global::Std.Vector.__Internal Parameters; + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic = (byte) (value ? 1 : 0); + } + } - [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + public bool IsConst + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 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_0(global::System.IntPtr instance, int delete); + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsExplicit { - return new TypeAliasTemplate(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + public bool IsOverride { - return new TypeAliasTemplate(native, skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride = (byte) (value ? 1 : 0); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + public global::CppSharp.Parser.AST.CXXMethodKind MethodKind { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind = value; + } } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool IsDefaultConstructor { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); + } } - protected TypeAliasTemplate(void* native, bool skipVTables = false) - : base((void*) null) + public bool IsCopyConstructor { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + 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 TypeAliasTemplate() - : this((void*) null) + public bool IsMoveConstructor { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + 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 TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) - : this((void*) null) + public global::CppSharp.Parser.AST.QualifiedType ConversionType { - __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_1((__Instance + __PointerAdjustment), __arg0); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier = value; + } } } - public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 284)] public new partial struct __Internal { [FieldOffset(0)] @@ -8699,277 +7770,302 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(140)] - public global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internal Namespaces; - [FieldOffset(144)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(152)] + internal global::Std.Vector.__Internal Enums; - [FieldOffset(156)] - internal global::Std.Vector.__Internal Specializations; + [FieldOffset(164)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(188)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(200)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(212)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(224)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(236)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(248)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(256)] + public byte isAnonymous; + + [FieldOffset(260)] + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(264)] + public global::System.IntPtr type; + + [FieldOffset(268)] + public global::System.IntPtr builtinType; + + [FieldOffset(272)] + internal global::Std.Vector.__Internal Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1ClassTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1Enumeration@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QAEPAVClassTemplateSpecialization@234@I@Z")] - internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); + EntryPoint="?getItems@Enumeration@AST@CppParser@CppSharp@@QAEPAVItem@1234@I@Z")] + internal static extern global::System.IntPtr GetItems_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QAEXAAPAVClassTemplateSpecialization@234@@Z")] - internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addItems@Enumeration@AST@CppParser@CppSharp@@QAEXAAPAVItem@1234@@Z")] + internal static extern void AddItems_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearSpecializations_0(global::System.IntPtr instance); + EntryPoint="?clearItems@Enumeration@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearItems_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecializationsCount@ClassTemplate@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new ClassTemplate(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) - { - return new ClassTemplate(native, skipVTables); + EntryPoint="?getItemsCount@Enumeration@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetItemsCount_0(global::System.IntPtr instance); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) + [Flags] + public enum EnumModifiers { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + Anonymous = 1, + Scoped = 2, + Flags = 4 } - private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [StructLayout(LayoutKind.Explicit, Size = 176)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - protected ClassTemplate(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; - public ClassTemplate() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + [FieldOffset(8)] + public global::System.IntPtr _namespace; - public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__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_1((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } + [FieldOffset(16)] + public int lineNumberStart; - public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations_0((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(20)] + public int lineNumberEnd; - public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization 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_0((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(24)] + public global::Std.BasicString.__Internal Name; - public void ClearSpecializations() - { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); - } + [FieldOffset(48)] + public global::Std.BasicString.__Internal USR; - public uint SpecializationsCount - { - get - { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(72)] + public global::Std.BasicString.__Internal DebugText; - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 168)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(96)] + public byte isIncomplete; - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + [FieldOffset(97)] + public byte isDependent; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [FieldOffset(98)] + public byte isImplicit; - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(100)] + public global::System.IntPtr completeDeclaration; - [FieldOffset(16)] - public int lineNumberStart; + [FieldOffset(104)] + public uint definitionOrder; - [FieldOffset(20)] - public int lineNumberEnd; + [FieldOffset(108)] + internal global::Std.Vector.__Internal PreprocessedEntities; - [FieldOffset(24)] - public global::Std.BasicString.__Internal Name; + [FieldOffset(120)] + internal global::Std.Vector.__Internal Redeclarations; - [FieldOffset(48)] - public global::Std.BasicString.__Internal USR; + [FieldOffset(132)] + public global::System.IntPtr originalPtr; - [FieldOffset(72)] - public global::Std.BasicString.__Internal DebugText; + [FieldOffset(136)] + public global::System.IntPtr comment; - [FieldOffset(96)] - public byte isIncomplete; + [FieldOffset(140)] + public global::Std.BasicString.__Internal Expression; - [FieldOffset(97)] - public byte isDependent; + [FieldOffset(168)] + public ulong value; - [FieldOffset(98)] - public byte isImplicit; + [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_0(global::System.IntPtr instance); - [FieldOffset(100)] - public global::System.IntPtr completeDeclaration; + [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_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(104)] - public uint definitionOrder; + [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_0(global::System.IntPtr instance, int delete); - [FieldOffset(108)] - internal global::Std.Vector.__Internal PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getExpression@Item@Enumeration@AST@CppParser@CppSharp@@QAEPBDXZ")] + internal static extern global::System.IntPtr Expression_0(global::System.IntPtr instance); - [FieldOffset(120)] - internal global::Std.Vector.__Internal Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?setExpression@Item@Enumeration@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void SetExpression_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } - [FieldOffset(132)] - public global::System.IntPtr originalPtr; + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Item(native.ToPointer(), skipVTables); + } - [FieldOffset(136)] - public global::System.IntPtr comment; + internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + { + return new Item(native, skipVTables); + } - [FieldOffset(140)] - public global::System.IntPtr TemplatedDecl; + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(144)] - internal global::Std.Vector.__Internal Parameters; + private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(156)] - internal global::Std.Vector.__Internal Specializations; + protected Item(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="??0FunctionTemplate@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + public Item() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + 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_1((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1FunctionTemplate@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - [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_0(global::System.IntPtr instance, uint i); + public ulong Value + { + get + { + return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; + } - [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_0(global::System.IntPtr instance, global::System.IntPtr s); + set + { + ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value = value; + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearSpecializations_0(global::System.IntPtr instance); + public string Expression + { + get + { + var __ret = __Internal.Expression_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecializationsCount@FunctionTemplate@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); + set + { + __Internal.SetExpression_0((__Instance + __PointerAdjustment), value); + } + } } - internal static new global::CppSharp.Parser.AST.FunctionTemplate __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 FunctionTemplate(native.ToPointer(), skipVTables); + return new Enumeration(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.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new FunctionTemplate(native, skipVTables); + return new Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__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 FunctionTemplate(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8978,19 +8074,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionTemplate() + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9009,35 +8105,84 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) { - var __ret = __Internal.GetSpecializations_0((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + var __ret = __Internal.GetItems_0((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.Enumeration.Item __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.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 AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization 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.AddSpecializations_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddItems_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearItems() + { + __Internal.ClearItems_0((__Instance + __PointerAdjustment)); + } + + 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 void ClearSpecializations() + public global::CppSharp.Parser.AST.BuiltinType BuiltinType { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + 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 SpecializationsCount + public uint ItemsCount { get { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetItemsCount_0((__Instance + __PointerAdjustment)); return __ret; } } @@ -9226,244 +8371,293 @@ namespace CppSharp } } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 144)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isVirtual; [FieldOffset(8)] - public global::System.IntPtr _namespace; + public global::System.IntPtr type; [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(16)] - public int lineNumberStart; - - [FieldOffset(20)] - public int lineNumberEnd; - - [FieldOffset(24)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(72)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(96)] - public byte isIncomplete; - - [FieldOffset(97)] - public byte isDependent; - - [FieldOffset(98)] - public byte isImplicit; - - [FieldOffset(100)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(104)] - public uint definitionOrder; - - [FieldOffset(108)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(120)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(132)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; - - [FieldOffset(140)] - public global::System.IntPtr declaration; + public int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Friend@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.Friend __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 Friend(native.ToPointer(), skipVTables); + return new BaseClassSpecifier(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.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new Friend(native, skipVTables); + return new BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(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 Friend(global::CppSharp.Parser.AST.Friend.__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 Friend(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 Friend() - : this((void*) null) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) - : this((void*) null) + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__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_1((__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() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.AccessSpecifier Access { 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 ((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.Friend.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } - } + 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; + } + } + } + + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 160)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(16)] + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(72)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(96)] + public byte isIncomplete; + + [FieldOffset(97)] + public byte isDependent; + + [FieldOffset(98)] + public byte isImplicit; + + [FieldOffset(100)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(104)] + public uint definitionOrder; + + [FieldOffset(108)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(120)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(132)] + public global::System.IntPtr originalPtr; - public unsafe partial class Statement : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + [FieldOffset(136)] + public global::System.IntPtr comment; - [FieldOffset(4)] - public global::System.IntPtr decl; + [FieldOffset(140)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(8)] - public global::Std.BasicString.__Internal String; + [FieldOffset(148)] + public global::System.IntPtr _class; - [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(152)] + public byte isBitField; + + [FieldOffset(156)] + public uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Statement@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + EntryPoint="??0Field@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getString@Statement@AST@CppParser@CppSharp@@QAEPBDXZ")] - internal static extern global::System.IntPtr String_0(global::System.IntPtr instance); + EntryPoint="??0Field@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?setString@Statement@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void SetString_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="??1Field@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor_0(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) + internal static new global::CppSharp.Parser.AST.Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Statement(native.ToPointer(), skipVTables); + return new Field(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.Field __CreateInstance(global::CppSharp.Parser.AST.Field.__Internal native, bool skipVTables = false) { - return new Statement(native, skipVTables); + return new Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Statement(global::CppSharp.Parser.AST.Statement.__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 Statement(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public Field() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Field(global::CppSharp.Parser.AST.Field _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9472,14 +8666,9 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -9487,202 +8676,164 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.StatementClass Class + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType); } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class = value; + ((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.Declaration Decl + public global::CppSharp.Parser.AST.Class Class { 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.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.Statement.__Internal*) __Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public string String + public bool IsBitField { get { - var __ret = __Internal.String_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; } set { - __Internal.SetString_0((__Instance + __PointerAdjustment), value); + ((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 Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 140)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - public global::System.IntPtr decl; + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::Std.BasicString.__Internal String; - - [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_1(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1Expression@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); - } + public global::System.IntPtr _namespace; - internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new Expression(native.ToPointer(), skipVTables); - } + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) - { - return new Expression(native, skipVTables); - } + [FieldOffset(16)] + public int lineNumberStart; - 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_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(20)] + public int lineNumberEnd; - private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(24)] + public global::Std.BasicString.__Internal Name; - protected Expression(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(48)] + public global::Std.BasicString.__Internal USR; - 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_1((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(72)] + public global::Std.BasicString.__Internal DebugText; - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - } + [FieldOffset(96)] + public byte isIncomplete; - public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + [FieldOffset(97)] + public byte isDependent; - [FieldOffset(4)] - public global::System.IntPtr decl; + [FieldOffset(98)] + public byte isImplicit; - [FieldOffset(8)] - public global::Std.BasicString.__Internal String; + [FieldOffset(100)] + public global::System.IntPtr completeDeclaration; - [FieldOffset(32)] - public global::System.IntPtr LHS; + [FieldOffset(104)] + public uint definitionOrder; - [FieldOffset(36)] - public global::System.IntPtr RHS; + [FieldOffset(108)] + internal global::Std.Vector.__Internal PreprocessedEntities; - [FieldOffset(40)] - public global::Std.BasicString.__Internal OpcodeStr; + [FieldOffset(120)] + internal global::Std.Vector.__Internal Redeclarations; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(132)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1BinaryOperator@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getOpcodeStr@BinaryOperator@AST@CppParser@CppSharp@@QAEPBDXZ")] - internal static extern global::System.IntPtr OpcodeStr_0(global::System.IntPtr instance); + EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?setOpcodeStr@BinaryOperator@AST@CppParser@CppSharp@@QAEXPBD@Z")] - internal static extern void SetOpcodeStr_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="??1AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __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 BinaryOperator(native.ToPointer(), skipVTables); + return new AccessSpecifierDecl(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.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new BinaryOperator(native, skipVTables); + return new AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__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 BinaryOperator(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9691,10 +8842,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__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)) @@ -9705,138 +8865,273 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + } - public global::CppSharp.Parser.AST.Expression LHS + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 324)] + public new partial struct __Internal { - 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; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; - 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(8)] + public global::System.IntPtr _namespace; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - public string OpcodeStr - { - get - { - var __ret = __Internal.OpcodeStr_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + [FieldOffset(16)] + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(72)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(96)] + public byte isIncomplete; + + [FieldOffset(97)] + public byte isDependent; + + [FieldOffset(98)] + public byte isImplicit; + + [FieldOffset(100)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(104)] + public uint definitionOrder; + + [FieldOffset(108)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(120)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(132)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(140)] + internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(164)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(188)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(200)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(212)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(224)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(236)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(248)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(256)] + public byte isAnonymous; + + [FieldOffset(260)] + internal global::Std.Vector.__Internal Bases; + + [FieldOffset(272)] + internal global::Std.Vector.__Internal Fields; + + [FieldOffset(284)] + internal global::Std.Vector.__Internal Methods; + + [FieldOffset(296)] + internal global::Std.Vector.__Internal Specifiers; + + [FieldOffset(308)] + public byte isPOD; + + [FieldOffset(309)] + public byte isAbstract; + + [FieldOffset(310)] + public byte isUnion; + + [FieldOffset(311)] + public byte isDynamic; + + [FieldOffset(312)] + public byte isPolymorphic; + + [FieldOffset(313)] + public byte hasNonTrivialDefaultConstructor; + + [FieldOffset(314)] + public byte hasNonTrivialCopyConstructor; + + [FieldOffset(315)] + public byte hasNonTrivialDestructor; + + [FieldOffset(316)] + public byte isExternCContext; + + [FieldOffset(317)] + public byte isInjected; + + [FieldOffset(320)] + public 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_0(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_1(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_0(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_0(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_0(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_0(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_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); - set - { - __Internal.SetOpcodeStr_0((__Instance + __PointerAdjustment), value); - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearFields@Class@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearFields_0(global::System.IntPtr instance); - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 44)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + [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_0(global::System.IntPtr instance, uint i); - [FieldOffset(4)] - public global::System.IntPtr decl; + [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_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(8)] - public global::Std.BasicString.__Internal String; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearMethods@Class@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearMethods_0(global::System.IntPtr instance); - [FieldOffset(32)] - internal global::Std.Vector.__Internal Arguments; + [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_0(global::System.IntPtr instance, uint i); [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?addSpecifiers@Class@AST@CppParser@CppSharp@@QAEXAAPAVAccessSpecifierDecl@234@@Z")] + internal static extern void AddSpecifiers_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1CallExpr@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + EntryPoint="?clearSpecifiers@Class@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearSpecifiers_0(global::System.IntPtr instance); [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_0(global::System.IntPtr instance, uint i); + EntryPoint="?getBasesCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetBasesCount_0(global::System.IntPtr instance); [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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?getFieldsCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@CallExpr@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + EntryPoint="?getMethodsCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetMethodsCount_0(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_0(global::System.IntPtr instance); + EntryPoint="?getSpecifiersCount@Class@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetSpecifiersCount_0(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.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new CallExpr(native.ToPointer(), skipVTables); + return new Class(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.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new CallExpr(native, skipVTables); + return new Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__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 CallExpr(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9845,10 +9140,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__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)) @@ -9859,7 +9163,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -9867,296 +9171,459 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) { - var __ret = __Internal.GetArguments_0((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; + var __ret = __Internal.GetBases_0((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __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.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.Expression 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_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBases_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearBases() { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.ClearBases_0((__Instance + __PointerAdjustment)); } - public uint ArgumentsCount + public global::CppSharp.Parser.AST.Field GetFields(uint i) { - get - { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } + var __ret = __Internal.GetFields_0((__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 unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 44)] - public new partial struct __Internal + public void AddFields(global::CppSharp.Parser.AST.Field s) { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(4)] - public global::System.IntPtr decl; + public void ClearFields() + { + __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(8)] - public global::Std.BasicString.__Internal String; + public global::CppSharp.Parser.AST.Method GetMethods(uint i) + { + var __ret = __Internal.GetMethods_0((__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(32)] - internal global::Std.Vector.__Internal Arguments; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0CXXConstructExpr@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + public void ClearMethods() + { + __Internal.ClearMethods_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1CXXConstructExpr@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + { + var __ret = __Internal.GetSpecifiers_0((__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; + } - [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_0(global::System.IntPtr instance, uint i); + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [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_0(global::System.IntPtr instance, global::System.IntPtr s); + public void ClearSpecifiers() + { + __Internal.ClearSpecifiers_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@CXXConstructExpr@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsPolymorphic { - return new CXXConstructExpr(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + public bool HasNonTrivialDefaultConstructor { - return new CXXConstructExpr(native, 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); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + public bool HasNonTrivialCopyConstructor { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + 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 CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool HasNonTrivialDestructor { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - protected CXXConstructExpr(void* native, bool skipVTables = false) - : base((void*) null) + public bool IsExternCContext { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + 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 CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) - : this((void*) null) + public bool IsInjected { - __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_1((__Instance + __PointerAdjustment), __arg0); + 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 override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.ClassLayout Layout { - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + 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 global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public uint BasesCount { - var __ret = __Internal.GetArguments_0((__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; + get + { + var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public uint FieldsCount { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public void ClearArguments() + public uint MethodsCount { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.GetMethodsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public uint ArgumentsCount + public uint SpecifiersCount { get { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecifiersCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class FunctionTemplateSpecialization : IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 156)] + public new partial struct __Internal { [FieldOffset(0)] - public global::System.IntPtr _template; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - internal global::Std.Vector.__Internal Arguments; + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; [FieldOffset(16)] - public global::System.IntPtr specializedFunction; + public int lineNumberStart; [FieldOffset(20)] - public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + public int lineNumberEnd; - [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_0(global::System.IntPtr instance); + [FieldOffset(24)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(72)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(96)] + public byte isIncomplete; + + [FieldOffset(97)] + public byte isDependent; + + [FieldOffset(98)] + public byte isImplicit; + + [FieldOffset(100)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(104)] + public uint definitionOrder; + + [FieldOffset(108)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(120)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(132)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(140)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(144)] + internal global::Std.Vector.__Internal Parameters; [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_1(global::System.IntPtr instance); [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + EntryPoint="??0Template@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); [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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="??1Template@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + EntryPoint="?getParameters@Template@AST@CppParser@CppSharp@@QAEPAVDeclaration@234@I@Z")] + internal static extern global::System.IntPtr GetParameters_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } + EntryPoint="?addParameters@Template@AST@CppParser@CppSharp@@QAEXAAPAVDeclaration@234@@Z")] + internal static extern void AddParameters_0(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="?clearParameters@Template@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearParameters_0(global::System.IntPtr instance); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getParametersCount@Template@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __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 FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + return new Template(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.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new FunctionTemplateSpecialization(native, skipVTables); + return new Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__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 FunctionTemplateSpecialization(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplateSpecialization() + public Template(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.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public Template() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor_1((__Instance + __PointerAdjustment)); } - public void Dispose() + public Template(global::CppSharp.Parser.AST.Template _0) + : this((void*) null) { - Dispose(disposing: true); + __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_2((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -10164,88 +9631,66 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetParameters_0((__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 AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + 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.AddArguments_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddParameters_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearParameters() { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FunctionTemplate Template + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) { - 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; - } + return new global::CppSharp.Parser.AST.Template(kind); } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { 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); + 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.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; + ((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ArgumentsCount + public uint ParametersCount { get { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 140)] + [StructLayout(LayoutKind.Explicit, Size = 156)] public new partial struct __Internal { [FieldOffset(0)] @@ -10302,47 +9747,53 @@ namespace CppSharp [FieldOffset(136)] public global::System.IntPtr comment; + [FieldOffset(140)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(144)] + internal global::Std.Vector.__Internal Parameters; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1TypeAliasTemplate@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(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.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new AccessSpecifierDecl(native.ToPointer(), skipVTables); + return new TypeAliasTemplate(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.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new AccessSpecifierDecl(native, skipVTables); + return new TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__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 AccessSpecifierDecl(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10351,19 +9802,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AccessSpecifierDecl() + public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10383,9 +9834,9 @@ namespace CppSharp } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 296)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { [FieldOffset(0)] @@ -10412,164 +9863,86 @@ namespace CppSharp [FieldOffset(48)] public global::Std.BasicString.__Internal USR; - [FieldOffset(72)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(96)] - public byte isIncomplete; - - [FieldOffset(97)] - public byte isDependent; - - [FieldOffset(98)] - public byte isImplicit; - - [FieldOffset(100)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(104)] - public uint definitionOrder; - - [FieldOffset(108)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(120)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(132)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; - - [FieldOffset(140)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(148)] - public byte isReturnIndirect; - - [FieldOffset(149)] - public byte hasThisReturn; - - [FieldOffset(150)] - public byte isConstExpr; - - [FieldOffset(151)] - public byte isVariadic; - - [FieldOffset(152)] - public byte isInline; - - [FieldOffset(153)] - public byte isPure; - - [FieldOffset(154)] - public byte isDeleted; - - [FieldOffset(156)] - public global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(160)] - public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(164)] - public global::Std.BasicString.__Internal Mangled; - - [FieldOffset(188)] - public global::Std.BasicString.__Internal Signature; - - [FieldOffset(212)] - public global::Std.BasicString.__Internal Body; - - [FieldOffset(236)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(240)] - internal global::Std.Vector.__Internal Parameters; - - [FieldOffset(252)] - public global::System.IntPtr specializationInfo; - - [FieldOffset(256)] - public global::System.IntPtr instantiatedFrom; - - [FieldOffset(260)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(72)] + public global::Std.BasicString.__Internal DebugText; - [FieldOffset(268)] - public byte isVirtual; + [FieldOffset(96)] + public byte isIncomplete; - [FieldOffset(269)] - public byte isStatic; + [FieldOffset(97)] + public byte isDependent; - [FieldOffset(270)] - public byte isConst; + [FieldOffset(98)] + public byte isImplicit; - [FieldOffset(271)] - public byte isExplicit; + [FieldOffset(100)] + public global::System.IntPtr completeDeclaration; - [FieldOffset(272)] - public byte isOverride; + [FieldOffset(104)] + public uint definitionOrder; - [FieldOffset(276)] - public global::CppSharp.Parser.AST.CXXMethodKind methodKind; + [FieldOffset(108)] + internal global::Std.Vector.__Internal PreprocessedEntities; - [FieldOffset(280)] - public byte isDefaultConstructor; + [FieldOffset(120)] + internal global::Std.Vector.__Internal Redeclarations; - [FieldOffset(281)] - public byte isCopyConstructor; + [FieldOffset(132)] + public global::System.IntPtr originalPtr; - [FieldOffset(282)] - public byte isMoveConstructor; + [FieldOffset(136)] + public global::System.IntPtr comment; - [FieldOffset(284)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + [FieldOffset(140)] + public uint depth; - [FieldOffset(292)] - public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + [FieldOffset(144)] + public uint index; + + [FieldOffset(148)] + public byte isParameterPack; [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_0(global::System.IntPtr instance); + EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QAE@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor_0(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="??0TemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1TemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.Method __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 Method(native.ToPointer(), skipVTables); + return new TemplateParameter(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.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new Method(native, skipVTables); + return new TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__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 Method(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10578,19 +9951,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public Method(global::CppSharp.Parser.AST.Method _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10609,307 +9982,413 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsVirtual + 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.Method.__Internal*) __Instance)->isVirtual != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth = value; } } - public bool IsStatic + public uint Index { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index = value; } } - public bool IsConst + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); } } + } - public bool IsExplicit + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 160)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit = (byte) (value ? 1 : 0); - } + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(16)] + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(72)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(96)] + public byte isIncomplete; + + [FieldOffset(97)] + public byte isDependent; + + [FieldOffset(98)] + public byte isImplicit; + + [FieldOffset(100)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(104)] + public uint definitionOrder; + + [FieldOffset(108)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(120)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(132)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(140)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(144)] + internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(156)] + public byte isParameterPack; + + [FieldOffset(157)] + public byte isPackExpansion; + + [FieldOffset(158)] + public byte isExpandedParameterPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(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")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - public bool IsOverride + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride != 0; - } + return new TemplateTemplateParameter(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride = (byte) (value ? 1 : 0); - } + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + { + return new TemplateTemplateParameter(native, skipVTables); } - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind = value; - } + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TemplateTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TemplateTemplateParameter() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public bool IsDefaultConstructor + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__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_1((__Instance + __PointerAdjustment), __arg0); } - public bool IsCopyConstructor + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor = (byte) (value ? 1 : 0); - } + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public bool IsMoveConstructor + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public bool IsPackExpansion { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType); + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } 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.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier = value; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class BaseClassSpecifier : IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 160)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - public byte isVirtual; + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr type; + public global::System.IntPtr _namespace; [FieldOffset(12)] - public int offset; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(16)] + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(72)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(96)] + public byte isIncomplete; + + [FieldOffset(97)] + public byte isDependent; + + [FieldOffset(98)] + public byte isImplicit; + + [FieldOffset(100)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(104)] + public uint definitionOrder; + + [FieldOffset(108)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(120)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(132)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(140)] + public uint depth; + + [FieldOffset(144)] + public uint index; + + [FieldOffset(148)] + public byte isParameterPack; + + [FieldOffset(152)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QAE@ABU0123@@Z")] + EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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.ThisCall, + EntryPoint="??1TypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor_0(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.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new BaseClassSpecifier(native.ToPointer(), skipVTables); + return new TypeTemplateParameter(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.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new BaseClassSpecifier(native, skipVTables); + return new TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__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.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__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 BaseClassSpecifier(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BaseClassSpecifier() + public TypeTemplateParameter() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__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_1((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - 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 - { - 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; - } - } - - public int Offset + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument); } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset = value; + ((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 Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 164)] public new partial struct __Internal { [FieldOffset(0)] @@ -10967,58 +10446,67 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(140)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public uint depth; + + [FieldOffset(144)] + public uint index; [FieldOffset(148)] - public global::System.IntPtr _class; + public byte isParameterPack; [FieldOffset(152)] - public byte isBitField; + public global::System.IntPtr defaultArgument; [FieldOffset(156)] - public uint bitWidth; + public uint position; + + [FieldOffset(160)] + public byte isPackExpansion; + + [FieldOffset(161)] + public byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Field@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0Field@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(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.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Field(native.ToPointer(), skipVTables); + return new NonTypeTemplateParameter(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.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new Field(native, skipVTables); + return new NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__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 Field(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11027,19 +10515,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Field(global::CppSharp.Parser.AST.Field _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11058,67 +10546,67 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Expression DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType); + 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.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.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Class Class + public uint Position { 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.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position = value; } } - public bool IsBitField + public bool IsPackExpansion { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint BitWidth + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { [FieldOffset(0)] @@ -11176,55 +10664,75 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(140)] - public uint depth; + public global::System.IntPtr TemplatedDecl; [FieldOffset(144)] - public uint index; + internal global::Std.Vector.__Internal Parameters; - [FieldOffset(148)] - public byte isParameterPack; + [FieldOffset(156)] + internal global::Std.Vector.__Internal Specializations; [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_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_0(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="??0ClassTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1ClassTemplate@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QAEPAVClassTemplateSpecialization@234@I@Z")] + internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QAEXAAPAVClassTemplateSpecialization@234@@Z")] + internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSpecializationsCount@ClassTemplate@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetSpecializationsCount_0(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.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplate(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.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) { - return new TemplateParameter(native, skipVTables); + return new ClassTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11233,19 +10741,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public ClassTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) + public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11264,54 +10772,43 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + var __ret = __Internal.GetSpecializations_0((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public uint Depth + public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth = value; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public void ClearSpecializations() { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index = value; - } + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); } - public bool IsParameterPack + public uint SpecializationsCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 344)] public new partial struct __Internal { [FieldOffset(0)] @@ -11320,110 +10817,202 @@ namespace CppSharp [FieldOffset(4)] public global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(12)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(16)] + public int lineNumberStart; + + [FieldOffset(20)] + public int lineNumberEnd; + + [FieldOffset(24)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(72)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(96)] + public byte isIncomplete; + + [FieldOffset(97)] + public byte isDependent; + + [FieldOffset(98)] + public byte isImplicit; + + [FieldOffset(100)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(104)] + public uint definitionOrder; + + [FieldOffset(108)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(120)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(132)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(140)] + internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(164)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(188)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(200)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(212)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(224)] + internal global::Std.Vector.__Internal Variables; - [FieldOffset(12)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(236)] + internal global::Std.Vector.__Internal Friends; - [FieldOffset(16)] - public int lineNumberStart; + [FieldOffset(248)] + internal global::Std.Map.__Internal anonymous; - [FieldOffset(20)] - public int lineNumberEnd; + [FieldOffset(256)] + public byte isAnonymous; - [FieldOffset(24)] - public global::Std.BasicString.__Internal Name; + [FieldOffset(260)] + internal global::Std.Vector.__Internal Bases; - [FieldOffset(48)] - public global::Std.BasicString.__Internal USR; + [FieldOffset(272)] + internal global::Std.Vector.__Internal Fields; - [FieldOffset(72)] - public global::Std.BasicString.__Internal DebugText; + [FieldOffset(284)] + internal global::Std.Vector.__Internal Methods; - [FieldOffset(96)] - public byte isIncomplete; + [FieldOffset(296)] + internal global::Std.Vector.__Internal Specifiers; - [FieldOffset(97)] - public byte isDependent; + [FieldOffset(308)] + public byte isPOD; - [FieldOffset(98)] - public byte isImplicit; + [FieldOffset(309)] + public byte isAbstract; - [FieldOffset(100)] - public global::System.IntPtr completeDeclaration; + [FieldOffset(310)] + public byte isUnion; - [FieldOffset(104)] - public uint definitionOrder; + [FieldOffset(311)] + public byte isDynamic; - [FieldOffset(108)] - internal global::Std.Vector.__Internal PreprocessedEntities; + [FieldOffset(312)] + public byte isPolymorphic; - [FieldOffset(120)] - internal global::Std.Vector.__Internal Redeclarations; + [FieldOffset(313)] + public byte hasNonTrivialDefaultConstructor; - [FieldOffset(132)] - public global::System.IntPtr originalPtr; + [FieldOffset(314)] + public byte hasNonTrivialCopyConstructor; - [FieldOffset(136)] - public global::System.IntPtr comment; + [FieldOffset(315)] + public byte hasNonTrivialDestructor; - [FieldOffset(140)] - public global::System.IntPtr TemplatedDecl; + [FieldOffset(316)] + public byte isExternCContext; - [FieldOffset(144)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(317)] + public byte isInjected; - [FieldOffset(156)] - public byte isParameterPack; + [FieldOffset(320)] + public global::System.IntPtr layout; - [FieldOffset(157)] - public byte isPackExpansion; + [FieldOffset(324)] + public global::System.IntPtr templatedDecl; - [FieldOffset(158)] - public byte isExpandedParameterPack; + [FieldOffset(328)] + internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(340)] + public 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="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?addArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getArgumentsCount@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetArgumentsCount_0(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.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplateSpecialization(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.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new TemplateTemplateParameter(native, skipVTables); + return new ClassTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11432,19 +11021,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11463,49 +11052,70 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsParameterPack + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + global::CppSharp.Parser.AST.ClassTemplate __result0; + if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsPackExpansion + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; } } - public bool IsExpandedParameterPack + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 164)] + [StructLayout(LayoutKind.Explicit, Size = 344)] public new partial struct __Internal { [FieldOffset(0)] @@ -11562,68 +11172,134 @@ namespace CppSharp [FieldOffset(136)] public global::System.IntPtr comment; - [FieldOffset(140)] - public uint depth; + [FieldOffset(140)] + internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(164)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(188)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(200)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(212)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(224)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(236)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(248)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(256)] + public byte isAnonymous; + + [FieldOffset(260)] + internal global::Std.Vector.__Internal Bases; + + [FieldOffset(272)] + internal global::Std.Vector.__Internal Fields; + + [FieldOffset(284)] + internal global::Std.Vector.__Internal Methods; + + [FieldOffset(296)] + internal global::Std.Vector.__Internal Specifiers; + + [FieldOffset(308)] + public byte isPOD; + + [FieldOffset(309)] + public byte isAbstract; + + [FieldOffset(310)] + public byte isUnion; + + [FieldOffset(311)] + public byte isDynamic; + + [FieldOffset(312)] + public byte isPolymorphic; + + [FieldOffset(313)] + public byte hasNonTrivialDefaultConstructor; + + [FieldOffset(314)] + public byte hasNonTrivialCopyConstructor; + + [FieldOffset(315)] + public byte hasNonTrivialDestructor; - [FieldOffset(144)] - public uint index; + [FieldOffset(316)] + public byte isExternCContext; - [FieldOffset(148)] - public byte isParameterPack; + [FieldOffset(317)] + public byte isInjected; - [FieldOffset(152)] - public global::System.IntPtr defaultArgument; + [FieldOffset(320)] + public global::System.IntPtr layout; - [FieldOffset(156)] - public uint position; + [FieldOffset(324)] + public global::System.IntPtr templatedDecl; - [FieldOffset(160)] - public byte isPackExpansion; + [FieldOffset(328)] + internal global::Std.Vector.__Internal Arguments; - [FieldOffset(161)] - public byte isExpandedParameterPack; + [FieldOffset(340)] + public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(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.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplatePartialSpecialization(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.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new NonTypeTemplateParameter(native, skipVTables); + return new ClassTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11632,19 +11308,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11662,68 +11338,11 @@ namespace CppSharp if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - - 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 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); - } - } } - public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 344)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { [FieldOffset(0)] @@ -11781,174 +11400,251 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(140)] - internal global::Std.Vector.__Internal Namespaces; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal Enums; - - [FieldOffset(164)] - internal global::Std.Vector.__Internal Functions; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(188)] - internal global::Std.Vector.__Internal Templates; + public global::System.IntPtr TemplatedDecl; - [FieldOffset(200)] - internal global::Std.Vector.__Internal Typedefs; + [FieldOffset(144)] + internal global::Std.Vector.__Internal Parameters; - [FieldOffset(212)] - internal global::Std.Vector.__Internal TypeAliases; + [FieldOffset(156)] + internal global::Std.Vector.__Internal Specializations; - [FieldOffset(224)] - internal global::Std.Vector.__Internal Variables; + [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_0(global::System.IntPtr instance); - [FieldOffset(236)] - internal global::Std.Vector.__Internal Friends; + [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_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(248)] - internal global::Std.Map.__Internal anonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1FunctionTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); - [FieldOffset(256)] - public byte isAnonymous; + [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_0(global::System.IntPtr instance, uint i); - [FieldOffset(260)] - internal global::Std.Vector.__Internal Bases; + [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_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(272)] - internal global::Std.Vector.__Internal Fields; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?clearSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); - [FieldOffset(284)] - internal global::Std.Vector.__Internal Methods; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getSpecializationsCount@FunctionTemplate@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); + } - [FieldOffset(296)] - internal global::Std.Vector.__Internal Specifiers; + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new FunctionTemplate(native.ToPointer(), skipVTables); + } - [FieldOffset(308)] - public byte isPOD; + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + { + return new FunctionTemplate(native, skipVTables); + } - [FieldOffset(309)] - public byte isAbstract; + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(310)] - public byte isUnion; + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(311)] - public byte isDynamic; + protected FunctionTemplate(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(312)] - public byte isPolymorphic; + public FunctionTemplate() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(313)] - public byte hasNonTrivialDefaultConstructor; + 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_1((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(314)] - public byte hasNonTrivialCopyConstructor; + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - [FieldOffset(315)] - public byte hasNonTrivialDestructor; + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations_0((__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(316)] - public byte isExternCContext; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(317)] - public byte isInjected; + public void ClearSpecializations() + { + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(320)] - public global::System.IntPtr layout; + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(324)] - public global::System.IntPtr templatedDecl; + public unsafe partial class FunctionTemplateSpecialization : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::System.IntPtr _template; - [FieldOffset(328)] + [FieldOffset(4)] internal global::Std.Vector.__Internal Arguments; - [FieldOffset(340)] + [FieldOffset(16)] + public global::System.IntPtr specializedFunction; + + [FieldOffset(20)] public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??1FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] + EntryPoint="?getArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAE?AUTemplateArgument@234@I@Z")] internal static extern void GetArguments_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?addArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] + EntryPoint="?addArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEXAAUTemplateArgument@234@@Z")] internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAEXXZ")] + EntryPoint="?clearArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEXXZ")] internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getArgumentsCount@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QAEIXZ")] + EntryPoint="?getArgumentsCount@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QAEIXZ")] internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __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 ClassTemplateSpecialization(native.ToPointer(), skipVTables); + return new FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__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 ClassTemplateSpecialization(native, skipVTables); + return new FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__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 ClassTemplateSpecialization(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 ClassTemplateSpecialization() - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11957,9 +11653,14 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -11987,21 +11688,39 @@ namespace CppSharp __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + public global::CppSharp.Parser.AST.FunctionTemplate Template { get { - global::CppSharp.Parser.AST.ClassTemplate __result0; - if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + 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.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl = 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; } } @@ -12009,12 +11728,12 @@ namespace CppSharp { get { - return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; } } @@ -12028,9 +11747,9 @@ namespace CppSharp } } - public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 344)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { [FieldOffset(0)] @@ -12088,133 +11807,75 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(140)] - internal global::Std.Vector.__Internal Namespaces; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal Enums; - - [FieldOffset(164)] - internal global::Std.Vector.__Internal Functions; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(188)] - internal global::Std.Vector.__Internal Templates; - - [FieldOffset(200)] - internal global::Std.Vector.__Internal Typedefs; - - [FieldOffset(212)] - internal global::Std.Vector.__Internal TypeAliases; - - [FieldOffset(224)] - internal global::Std.Vector.__Internal Variables; - - [FieldOffset(236)] - internal global::Std.Vector.__Internal Friends; - - [FieldOffset(248)] - internal global::Std.Map.__Internal anonymous; - - [FieldOffset(256)] - public byte isAnonymous; - - [FieldOffset(260)] - internal global::Std.Vector.__Internal Bases; - - [FieldOffset(272)] - internal global::Std.Vector.__Internal Fields; - - [FieldOffset(284)] - internal global::Std.Vector.__Internal Methods; - - [FieldOffset(296)] - internal global::Std.Vector.__Internal Specifiers; - - [FieldOffset(308)] - public byte isPOD; - - [FieldOffset(309)] - public byte isAbstract; - - [FieldOffset(310)] - public byte isUnion; - - [FieldOffset(311)] - public byte isDynamic; - - [FieldOffset(312)] - public byte isPolymorphic; - - [FieldOffset(313)] - public byte hasNonTrivialDefaultConstructor; - - [FieldOffset(314)] - public byte hasNonTrivialCopyConstructor; - - [FieldOffset(315)] - public byte hasNonTrivialDestructor; + public global::System.IntPtr TemplatedDecl; - [FieldOffset(316)] - public byte isExternCContext; + [FieldOffset(144)] + internal global::Std.Vector.__Internal Parameters; - [FieldOffset(317)] - public byte isInjected; + [FieldOffset(156)] + internal global::Std.Vector.__Internal Specializations; - [FieldOffset(320)] - public global::System.IntPtr layout; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); - [FieldOffset(324)] - public global::System.IntPtr templatedDecl; + [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_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(328)] - internal global::Std.Vector.__Internal Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??1VarTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); - [FieldOffset(340)] - public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [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_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + EntryPoint="?addSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEXAAPAVVarTemplateSpecialization@234@@Z")] + internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?clearSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEXXZ")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??1ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QAE@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + EntryPoint="?getSpecializationsCount@VarTemplate@AST@CppParser@CppSharp@@QAEIXZ")] + internal static extern uint GetSpecializationsCount_0(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.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new VarTemplate(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.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new ClassTemplatePartialSpecialization(native, skipVTables); + return new VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__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 ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12223,19 +11884,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12253,6 +11914,39 @@ namespace CppSharp if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + } + + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } } public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable @@ -12645,9 +12339,9 @@ namespace CppSharp } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 264)] public new partial struct __Internal { [FieldOffset(0)] @@ -12705,144 +12399,264 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(140)] - public global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internal Namespaces; - [FieldOffset(144)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(152)] + internal global::Std.Vector.__Internal Enums; - [FieldOffset(156)] - internal global::Std.Vector.__Internal Specializations; + [FieldOffset(164)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(188)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(200)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(212)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(224)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(236)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(248)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(256)] + public byte isAnonymous; + + [FieldOffset(260)] + public byte isInline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QAE@XZ")] + EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1Namespace@AST@CppParser@CppSharp@@QAE@XZ")] internal static extern void dtor_0(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_0(global::System.IntPtr instance, uint i); + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Namespace(native.ToPointer(), skipVTables); + } - [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_0(global::System.IntPtr instance, global::System.IntPtr s); + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + { + return new Namespace(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Namespace(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Namespace() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Namespace(global::CppSharp.Parser.AST.Namespace _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class PreprocessedEntity : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(4)] + public global::System.IntPtr originalPtr; + + [FieldOffset(8)] + public global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?clearSpecializations@VarTemplate@AST@CppParser@CppSharp@@QAEXXZ")] - internal static extern void ClearSpecializations_0(global::System.IntPtr instance); + EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, - EntryPoint="?getSpecializationsCount@VarTemplate@AST@CppParser@CppSharp@@QAEIXZ")] - internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); + EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.VarTemplate __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.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new VarTemplate(native.ToPointer(), skipVTables); + return new PreprocessedEntity(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.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) { - return new VarTemplate(native, skipVTables); + return new PreprocessedEntity(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; return ret.ToPointer(); } - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected PreprocessedEntity(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VarTemplate() - : this((void*) null) + public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) - : this((void*) null) + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__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_1((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { - var __ret = __Internal.GetSpecializations_0((__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; - } + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; + } - 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_0((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation = value; + } } - public void ClearSpecializations() + public global::System.IntPtr OriginalPtr { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; + } + + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.DeclarationKind Kind { get { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind = value; } } } @@ -16423,6 +16237,192 @@ namespace CppSharp } } } + + public unsafe partial class RawComment : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.RawCommentKind kind; + + [FieldOffset(4)] + public global::Std.BasicString.__Internal Text; + + [FieldOffset(28)] + public global::Std.BasicString.__Internal BriefText; + + [FieldOffset(52)] + public global::System.IntPtr fullCommentBlock; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QAE@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QAE@ABV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(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")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getText@RawComment@AST@CppParser@CppSharp@@QAEPBDXZ")] + internal static extern global::System.IntPtr Text_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?setText@RawComment@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void SetText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?getBriefText@RawComment@AST@CppParser@CppSharp@@QAEPBDXZ")] + internal static extern global::System.IntPtr BriefText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, + EntryPoint="?setBriefText@RawComment@AST@CppParser@CppSharp@@QAEXPBD@Z")] + internal static extern void SetBriefText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } + + 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 RawComment(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + { + return new RawComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected RawComment(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public RawComment() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public RawComment(global::CppSharp.Parser.AST.RawComment _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.RawComment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + 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 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; + } + } + + public string Text + { + get + { + var __ret = __Internal.Text_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetText_0((__Instance + __PointerAdjustment), value); + } + } + + public string BriefText + { + get + { + var __ret = __Internal.BriefText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBriefText_0((__Instance + __PointerAdjustment), value); + } + } + } } } } 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 dd37730d..0386a92d 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 @@ -669,525 +669,569 @@ namespace CppSharp } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 192)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(56)] - public global::Std.__1.BasicString.__Internal USR; - - [FieldOffset(80)] - public global::Std.__1.BasicString.__Internal DebugText; - - [FieldOffset(104)] - public byte isIncomplete; - - [FieldOffset(105)] public byte isDependent; - [FieldOffset(106)] - public byte isImplicit; - - [FieldOffset(112)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(120)] - public uint definitionOrder; - - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; - - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Redeclarations; - - [FieldOffset(176)] - public global::System.IntPtr originalPtr; - - [FieldOffset(184)] - public global::System.IntPtr comment; + [FieldOffset(8)] + public global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + internal static extern void cctor_2(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_0(global::System.IntPtr instance); + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TagType(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] - internal static extern global::System.IntPtr GetPreprocessedEntities_0(global::System.IntPtr instance, uint i); + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + { + return new TagType(native, skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] - internal static extern void AddPreprocessedEntities_0(global::System.IntPtr instance, global::System.IntPtr s); + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] - internal static extern void ClearPreprocessedEntities_0(global::System.IntPtr instance); + private TagType(global::CppSharp.Parser.AST.TagType.__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="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] - internal static extern global::System.IntPtr GetRedeclarations_0(global::System.IntPtr instance, uint i); + protected TagType(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="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] - internal static extern void AddRedeclarations_0(global::System.IntPtr instance, global::System.IntPtr s); + public TagType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] - internal static extern void ClearRedeclarations_0(global::System.IntPtr instance); + 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_2((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7getNameEv")] - internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc")] - internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6getUSREv")] - internal static extern global::System.IntPtr USR_0(global::System.IntPtr instance); + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6setUSREPKc")] - internal static extern void SetUSR_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(4)] + public byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv")] - internal static extern global::System.IntPtr DebugText_0(global::System.IntPtr instance); + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc")] - internal static extern void SetDebugText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(24)] + public global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + + [FieldOffset(32)] + public long size; + + [FieldOffset(40)] + public long elementSize; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] - internal static extern uint GetPreprocessedEntitiesCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] - internal static extern uint GetRedeclarationsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + internal static extern void cctor_2(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; + 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 Declaration(native.ToPointer(), skipVTables); + return new 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 Declaration(native, skipVTables); + return new 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_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(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_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__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)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - Dispose(disposing: true); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 virtual void Dispose(bool disposing) + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType = value; + } } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + public long Size { - var __ret = __Internal.GetPreprocessedEntities_0((__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)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size = value; + } } - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + public long ElementSize { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize = value; + } } + } - public void ClearPreprocessedEntities() + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { - __Internal.ClearPreprocessedEntities_0((__Instance + __PointerAdjustment)); + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + public byte isDependent; + + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(24)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(28)] + public global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(32)] + internal global::Std.__1.Vector.__Internal Parameters; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] + internal static extern global::System.IntPtr GetParameters_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] + internal static extern uint GetParametersCount_0(global::System.IntPtr instance); } - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetRedeclarations_0((__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; + return new FunctionType(native.ToPointer(), skipVTables); } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__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.AddRedeclarations_0((__Instance + __PointerAdjustment), __arg0); + return new FunctionType(native, skipVTables); } - public void ClearRedeclarations() + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - __Internal.ClearRedeclarations_0((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - return new global::CppSharp.Parser.AST.Declaration(kind); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.DeclarationKind Kind + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind = value; - } + public FunctionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; - } + __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_1((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access = value; - } + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - 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; - } + var __ret = __Internal.GetParameters_0((__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; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.SourceLocation Location + public void ClearParameters() + { + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + } + + 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(((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 bool IsIncomplete + public uint ParametersCount { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete = (byte) (value ? 1 : 0); + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; } } + } - public bool IsDependent + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent = (byte) (value ? 1 : 0); - } - } + [FieldOffset(4)] + public byte isDependent; - public bool IsImplicit - { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; - } + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit = (byte) (value ? 1 : 0); - } - } + [FieldOffset(24)] + public global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration - { - 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; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - public uint DefinitionOrder + public enum TypeModifier { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder = value; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 } - public global::System.IntPtr OriginalPtr + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; - } + return new PointerType(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.RawComment Comment + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - 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; - } + return new PointerType(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public string Name + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - __Internal.SetName_0((__Instance + __PointerAdjustment), value); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public string USR + public PointerType() + : this((void*) null) { - get - { - var __ret = __Internal.USR_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - set - { - __Internal.SetUSR_0((__Instance + __PointerAdjustment), value); - } + 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_2((__Instance + __PointerAdjustment), __arg0); } - public string DebugText + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - var __ret = __Internal.DebugText_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee); } set { - __Internal.SetDebugText_0((__Instance + __PointerAdjustment), value); + ((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 uint PreprocessedEntitiesCount + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - var __ret = __Internal.GetPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } - } - public uint RedeclarationsCount - { - get + set { - var __ret = __Internal.GetRedeclarationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier = value; } } } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { [FieldOffset(0)] @@ -1197,44 +1241,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr declaration; + public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TagType(native.ToPointer(), skipVTables); + return new MemberPointerType(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.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) { - return new TagType(native, skipVTables); + return new MemberPointerType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TagType(void* native, bool skipVTables = false) + protected MemberPointerType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1243,19 +1287,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TagType() + public MemberPointerType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TagType(global::CppSharp.Parser.AST.TagType _0) + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1264,28 +1308,23 @@ namespace CppSharp __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.QualifiedType Pointee { 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(((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee); } set { - ((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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 ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] @@ -1295,61 +1334,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(24)] - public global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(32)] - public long size; - - [FieldOffset(40)] - public long elementSize; + public global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - public enum ArraySize + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + return new TypedefType(native.ToPointer(), skipVTables); } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new ArrayType(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.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) { - return new ArrayType(native, skipVTables); + return new TypedefType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ArrayType(void* native, bool skipVTables = false) + protected TypedefType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1358,19 +1380,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ArrayType() + public TypedefType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1379,174 +1401,78 @@ namespace CppSharp __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size = value; - } - } - - public long ElementSize + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + 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.ArrayType.__Internal*) __Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 224)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; + public global::CppSharp.Parser.AST.QualifiedType.__Internal modified; [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(56)] - public global::Std.__1.BasicString.__Internal USR; - - [FieldOffset(80)] - public global::Std.__1.BasicString.__Internal DebugText; - - [FieldOffset(104)] - public byte isIncomplete; - - [FieldOffset(105)] - public byte isDependent; - - [FieldOffset(106)] - public byte isImplicit; - - [FieldOffset(112)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(120)] - public uint definitionOrder; - - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; - - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Redeclarations; - - [FieldOffset(176)] - public global::System.IntPtr originalPtr; - - [FieldOffset(184)] - public global::System.IntPtr comment; - - [FieldOffset(192)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(208)] - public byte isIndirect; - - [FieldOffset(209)] - public byte hasDefaultValue; - - [FieldOffset(212)] - public uint index; - - [FieldOffset(216)] - public global::System.IntPtr defaultArgument; + public global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Parameter(native.ToPointer(), skipVTables); + return new AttributedType(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.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) { - return new Parameter(native, skipVTables); + return new AttributedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Parameter(void* native, bool skipVTables = false) + protected AttributedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1555,109 +1481,55 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Parameter() + public AttributedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Parameter(global::CppSharp.Parser.AST.Parameter _0) + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue = (byte) (value ? 1 : 0); - } + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public global::CppSharp.Parser.AST.QualifiedType Modified { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified); } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index = value; + ((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; } } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public global::CppSharp.Parser.AST.QualifiedType Equivalent { 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; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent); } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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; } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal @@ -1669,78 +1541,50 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + public global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; [FieldOffset(24)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; + public global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [FieldOffset(28)] - public global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; - - [FieldOffset(32)] - internal global::Std.__1.Vector.__Internal Parameters; + [FieldOffset(40)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] - internal static extern global::System.IntPtr GetParameters_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] - internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.FunctionType __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 FunctionType(native.ToPointer(), skipVTables); + return new DecayedType(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.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new FunctionType(native, skipVTables); + return new DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__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 FunctionType(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1749,423 +1593,314 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionType() + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.QualifiedType Decayed { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed); } 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.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.CallingConvention CallingConvention + public global::CppSharp.Parser.AST.QualifiedType Original { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original); } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention = value; + ((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.ExceptionSpecType ExceptionSpecType + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee); } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType = value; - } - } - - public uint ParametersCount - { - get - { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); - return __ret; + ((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 unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateArgument : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + public global::CppSharp.Parser.AST.QualifiedType.__Internal type; [FieldOffset(24)] - public global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + public global::System.IntPtr declaration; + + [FieldOffset(32)] + public long integral; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - public enum TypeModifier + public enum ArgumentKind { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - internal static new global::CppSharp.Parser.AST.PointerType __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.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new PointerType(native.ToPointer(), skipVTables); + return new TemplateArgument(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.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - return new PointerType(native, skipVTables); + return new TemplateArgument(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; return ret.ToPointer(); } - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PointerType(void* native, bool skipVTables = false) - : base((void*) null) + protected TemplateArgument(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PointerType() - : this((void*) null) + public TemplateArgument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public PointerType(global::CppSharp.Parser.AST.PointerType _0) - : this((void*) null) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__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_2((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee); + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->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; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind = value; } } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier + public global::CppSharp.Parser.AST.QualifiedType Type { get { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type); } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier = value; + ((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 unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Declaration Declaration { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] - internal static extern void cctor_2(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 MemberPointerType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) - { - return new 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_2(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_0((__Instance + __PointerAdjustment)); - } - - 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_2((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public long Integral { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee); + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } 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.TemplateArgument.__Internal*) __Instance)->integral = value; } } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 208)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; + internal global::Std.__1.Vector.__Internal Arguments; [FieldOffset(32)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(56)] - public global::Std.__1.BasicString.__Internal USR; - - [FieldOffset(80)] - public global::Std.__1.BasicString.__Internal DebugText; - - [FieldOffset(104)] - public byte isIncomplete; - - [FieldOffset(105)] - public byte isDependent; - - [FieldOffset(106)] - public byte isImplicit; - - [FieldOffset(112)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(120)] - public uint definitionOrder; + public global::System.IntPtr _template; - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; + [FieldOffset(40)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(176)] - public global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(184)] - public global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(192)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypedefNameDecl(native.ToPointer(), skipVTables); + return new TemplateSpecializationType(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.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new TypedefNameDecl(native, skipVTables); + return new TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__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 TypedefNameDecl(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2174,19 +1909,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2197,7 +1932,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -2205,28 +1940,70 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public global::CppSharp.Parser.AST.QualifiedType 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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType); + 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.TypedefNameDecl.__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.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(((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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] @@ -2236,44 +2013,72 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr declaration; + internal global::Std.__1.Vector.__Internal Arguments; + + [FieldOffset(32)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new TypedefType(native.ToPointer(), skipVTables); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypedefType(native, skipVTables); + return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__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.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return new 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_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__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 TypedefType(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2282,49 +2087,83 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefType() + public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared { 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.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -2334,47 +2173,58 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + public global::System.IntPtr parameter; + + [FieldOffset(16)] + public uint depth; + + [FieldOffset(20)] + public uint index; [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + public byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + internal static extern void dtor_0(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.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new AttributedType(native.ToPointer(), skipVTables); + return new TemplateParameterType(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.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new AttributedType(native, skipVTables); + return new TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__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 AttributedType(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2383,57 +2233,98 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified); + 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.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.TemplateParameterType.__Internal*) __Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public uint Depth { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent); + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; } 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.TemplateParameterType.__Internal*) __Instance)->depth = value; + } + } + + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index = value; + } + } + + public bool IsParameterPack + { + get + { + 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 DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -2443,50 +2334,47 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + public global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal original; - - [FieldOffset(40)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + public global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DecayedType __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 DecayedType(native.ToPointer(), skipVTables); + return new TemplateParameterSubstitutionType(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.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new DecayedType(native, skipVTables); + return new TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__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 DecayedType(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2495,19 +2383,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2516,343 +2404,375 @@ namespace CppSharp __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed + public global::CppSharp.Parser.AST.QualifiedType Replacement { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement); } 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; + ((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.QualifiedType Original - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee); + 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.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.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TemplateArgument : IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal type; + public global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; [FieldOffset(24)] - public global::System.IntPtr declaration; - - [FieldOffset(32)] - public long integral; + public global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] - internal static extern void cctor_1(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 + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] + internal static extern void cctor_2(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.TemplateArgument __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 TemplateArgument(native.ToPointer(), skipVTables); + return new InjectedClassNameType(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.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new TemplateArgument(native, skipVTables); + return new InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__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.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__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 TemplateArgument(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public InjectedClassNameType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__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) - { - global::CppSharp.Parser.AST.TemplateArgument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__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_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType); } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind = value; + ((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 global::CppSharp.Parser.AST.QualifiedType Type + public global::CppSharp.Parser.AST.Class Class { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type); + 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.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.InjectedClassNameType.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } + } - public global::CppSharp.Parser.AST.Declaration Declaration + public unsafe partial class DependentNameType : 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.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; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [FieldOffset(4)] + public byte isDependent; + + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - public long Integral + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new DependentNameType(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + { + return new DependentNameType(native, skipVTables); + } + + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentNameType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentNameType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + 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_2((__Instance + __PointerAdjustment), __arg0); + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral = value; + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 224)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isDependent; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(20)] - public int lineNumberStart; + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new PackExpansionType(native.ToPointer(), skipVTables); + } - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(56)] - public global::Std.__1.BasicString.__Internal USR; - - [FieldOffset(80)] - public global::Std.__1.BasicString.__Internal DebugText; - - [FieldOffset(104)] - public byte isIncomplete; - - [FieldOffset(105)] - public byte isDependent; - - [FieldOffset(106)] - public byte isImplicit; - - [FieldOffset(112)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(120)] - public uint definitionOrder; - - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; - - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Redeclarations; - - [FieldOffset(176)] - public global::System.IntPtr originalPtr; + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + { + return new PackExpansionType(native, skipVTables); + } - [FieldOffset(184)] - public global::System.IntPtr comment; + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(192)] - public global::System.IntPtr TemplatedDecl; + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(200)] - internal global::Std.__1.Vector.__Internal Parameters; + protected PackExpansionType(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="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + public PackExpansionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] - internal static extern void ctor_1(global::System.IntPtr instance); + 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_2((__Instance + __PointerAdjustment), __arg0); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] - internal static extern void cctor_3(global::System.IntPtr instance, global::System.IntPtr _0); + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + [FieldOffset(4)] + public byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] - internal static extern global::System.IntPtr GetParameters_0(global::System.IntPtr instance, uint i); + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] - internal static extern void AddParameters_0(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(24)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] - internal static extern void ClearParameters_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] - internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.Template __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 Template(native.ToPointer(), skipVTables); + return new UnaryTransformType(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.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) { - return new Template(native, skipVTables); + return new UnaryTransformType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor_3(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__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 Template(void* native, bool skipVTables = false) + protected UnaryTransformType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2861,106 +2781,57 @@ namespace CppSharp __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_0((__Instance + __PointerAdjustment), kind); - } - - public Template() + public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_1((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Template(global::CppSharp.Parser.AST.Template _0) + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__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_3((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__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); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public global::CppSharp.Parser.AST.QualifiedType Desugared { 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.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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 uint ParametersCount + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType); + } + + 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; } } } - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -2970,75 +2841,47 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - internal global::Std.__1.Vector.__Internal Arguments; - - [FieldOffset(32)] - public global::System.IntPtr _template; + public global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - [FieldOffset(40)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(24)] + public uint numElements; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments_0(global::System.IntPtr @return, 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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(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.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateSpecializationType(native.ToPointer(), skipVTables); + return new VectorType(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.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) { - return new TemplateSpecializationType(native, skipVTables); + return new VectorType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) + protected VectorType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -3047,101 +2890,57 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() + public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Template Template + public global::CppSharp.Parser.AST.QualifiedType ElementType { 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.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType); } set { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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; } } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public uint NumElements { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared); + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; } 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_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements = value; } } } - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] @@ -3151,72 +2950,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - internal global::Std.__1.Vector.__Internal Arguments; - - [FieldOffset(32)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + public global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new BuiltinType(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.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) { - return new DependentTemplateSpecializationType(native, skipVTables); + return new BuiltinType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + protected BuiltinType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -3225,330 +2996,273 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentTemplateSpecializationType() + public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public global::CppSharp.Parser.AST.PrimitiveType Type { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared); + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; } 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_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type = value; } } } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class VTableComponent : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 224)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.VTableComponentKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public uint offset; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + public global::System.IntPtr declaration; - [FieldOffset(20)] - public int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(24)] - public int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(32)] - public global::Std.__1.BasicString.__Internal Name; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(56)] - public global::Std.__1.BasicString.__Internal USR; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [FieldOffset(80)] - public global::Std.__1.BasicString.__Internal DebugText; + protected bool __ownsNativeInstance; - [FieldOffset(104)] - public byte isIncomplete; - - [FieldOffset(105)] - public byte isDependent; - - [FieldOffset(106)] - public byte isImplicit; - - [FieldOffset(112)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(120)] - public uint definitionOrder; - - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; - - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Redeclarations; - - [FieldOffset(176)] - public global::System.IntPtr originalPtr; - - [FieldOffset(184)] - public global::System.IntPtr comment; - - [FieldOffset(192)] - public uint depth; - - [FieldOffset(196)] - public uint index; - - [FieldOffset(200)] - public byte isParameterPack; - - [FieldOffset(208)] - public 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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypeTemplateParameter(native.ToPointer(), skipVTables); + return new VTableComponent(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.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - return new TypeTemplateParameter(native, skipVTables); + return new VTableComponent(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(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 TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__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 TypeTemplateParameter(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 TypeTemplateParameter() - : this((void*) null) + public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__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_1((__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() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VTableComponent __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public global::CppSharp.Parser.AST.VTableComponentKind Kind { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; } 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.VTableComponent.__Internal*) __Instance)->kind = value; } } - } - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + public uint Offset { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + } - [FieldOffset(8)] - public global::System.IntPtr parameter; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset = value; + } + } - [FieldOffset(16)] - public uint depth; + 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(20)] - public uint index; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(24)] - public byte isParameterPack; + public unsafe partial class VTableLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.__1.Vector.__Internal Components; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] internal static extern void dtor_0(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_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] + internal static extern uint GetComponentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __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 TemplateParameterType(native.ToPointer(), skipVTables); + return new VTableLayout(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.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) { - return new TemplateParameterType(native, skipVTables); + return new VTableLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__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 TemplateParameterType(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 TemplateParameterType() - : this((void*) null) + public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) - : this((void*) null) + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3557,9 +3271,14 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Type __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VTableLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -3567,1588 +3286,292 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter + public global::CppSharp.Parser.AST.VTableComponent GetComponents(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; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + var __ret = __Internal.GetComponents_0((__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); } - public uint Depth + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth = value; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public void ClearComponents() { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index = value; - } + __Internal.ClearComponents_0((__Instance + __PointerAdjustment)); } - public bool IsParameterPack + public uint ComponentsCount { 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.GetComponentsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VFTableInfo : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + public ulong VBTableIndex; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + public uint VFPtrOffset; - [FieldOffset(24)] - public global::System.IntPtr replacedParameter; + [FieldOffset(12)] + public uint VFPtrFullOffset; + + [FieldOffset(16)] + public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __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 TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new VFTableInfo(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.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - return new TemplateParameterSubstitutionType(native, skipVTables); + return new VFTableInfo(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__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 TemplateParameterSubstitutionType(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 TemplateParameterSubstitutionType() - : this((void*) null) + public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) - : this((void*) null) + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VFTableInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public ulong VBTableIndex { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement); + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; } 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; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex = value; } } - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public uint VFPtrOffset { 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; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset = value; } } - } - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 560)] - public new partial struct __Internal + public uint VFPtrFullOffset { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + get + { + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + } - [FieldOffset(8)] - public global::System.IntPtr _namespace; + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset = value; + } + } - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + public global::CppSharp.Parser.AST.VTableLayout Layout + { + get + { + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout); + } - [FieldOffset(20)] - public int lineNumberStart; + 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; + } + } + } - [FieldOffset(24)] - public int lineNumberEnd; + public unsafe partial class LayoutField : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public partial struct __Internal + { + [FieldOffset(0)] + public uint offset; - [FieldOffset(32)] + [FieldOffset(8)] public global::Std.__1.BasicString.__Internal Name; - [FieldOffset(56)] - public global::Std.__1.BasicString.__Internal USR; - - [FieldOffset(80)] - public global::Std.__1.BasicString.__Internal DebugText; + [FieldOffset(32)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(104)] - public byte isIncomplete; + [FieldOffset(48)] + public global::System.IntPtr fieldPtr; - [FieldOffset(105)] - public byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(106)] - public byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr other); - [FieldOffset(112)] - public global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(120)] - public uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7getNameEv")] + internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7setNameEPKc")] + internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Redeclarations; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(176)] - public global::System.IntPtr originalPtr; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [FieldOffset(184)] - public global::System.IntPtr comment; + protected bool __ownsNativeInstance; - [FieldOffset(192)] - internal global::Std.__1.Vector.__Internal Namespaces; + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new LayoutField(native.ToPointer(), skipVTables); + } - [FieldOffset(216)] - internal global::Std.__1.Vector.__Internal Enums; + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + { + return new LayoutField(native, skipVTables); + } - [FieldOffset(240)] - internal global::Std.__1.Vector.__Internal Functions; + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(264)] - internal global::Std.__1.Vector.__Internal Classes; - - [FieldOffset(288)] - internal global::Std.__1.Vector.__Internal Templates; - - [FieldOffset(312)] - internal global::Std.__1.Vector.__Internal Typedefs; - - [FieldOffset(336)] - internal global::Std.__1.Vector.__Internal TypeAliases; - - [FieldOffset(360)] - internal global::Std.__1.Vector.__Internal Variables; - - [FieldOffset(384)] - internal global::Std.__1.Vector.__Internal Friends; - - [FieldOffset(408)] - internal global::Std.__1.Map.__Internal anonymous; - - [FieldOffset(432)] - public byte isAnonymous; - - [FieldOffset(440)] - internal global::Std.__1.Vector.__Internal Bases; - - [FieldOffset(464)] - internal global::Std.__1.Vector.__Internal Fields; - - [FieldOffset(488)] - internal global::Std.__1.Vector.__Internal Methods; - - [FieldOffset(512)] - internal global::Std.__1.Vector.__Internal Specifiers; - - [FieldOffset(536)] - public byte isPOD; - - [FieldOffset(537)] - public byte isAbstract; - - [FieldOffset(538)] - public byte isUnion; - - [FieldOffset(539)] - public byte isDynamic; - - [FieldOffset(540)] - public byte isPolymorphic; - - [FieldOffset(541)] - public byte hasNonTrivialDefaultConstructor; - - [FieldOffset(542)] - public byte hasNonTrivialCopyConstructor; - - [FieldOffset(543)] - public byte hasNonTrivialDestructor; - - [FieldOffset(544)] - public byte isExternCContext; - - [FieldOffset(545)] - public byte isInjected; - - [FieldOffset(552)] - public global::System.IntPtr layout; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] - internal static extern global::System.IntPtr GetBases_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] - internal static extern global::System.IntPtr GetFields_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] - internal static extern global::System.IntPtr GetMethods_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] - internal static extern global::System.IntPtr GetSpecifiers_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] - internal static extern uint GetBasesCount_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] - internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] - internal static extern uint GetMethodsCount_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] - internal static extern uint GetSpecifiersCount_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new Class(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) - { - return new 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) - { - var __ret = __Internal.GetBases_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBases() - { - __Internal.ClearBases_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Field GetFields(uint i) - { - var __ret = __Internal.GetFields_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFields() - { - __Internal.ClearFields_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Method GetMethods(uint i) - { - var __ret = __Internal.GetMethods_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMethods() - { - __Internal.ClearMethods_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) - { - var __ret = __Internal.GetSpecifiers_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecifiers() - { - __Internal.ClearSpecifiers_0((__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_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint MethodsCount - { - get - { - var __ret = __Internal.GetMethodsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint SpecifiersCount - { - get - { - var __ret = __Internal.GetSpecifiersCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - - [FieldOffset(24)] - public global::System.IntPtr _class; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new InjectedClassNameType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) - { - return new InjectedClassNameType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected InjectedClassNameType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public InjectedClassNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.Class Class - { - 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 DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new DependentNameType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - { - return new DependentNameType(native, skipVTables); - } - - 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_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected DependentNameType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public DependentNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - 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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared); - } - - set - { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } - - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] - internal static extern void cctor_2(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 PackExpansionType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - { - return new 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_2(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_0((__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_2((__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)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new UnaryTransformType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) - { - return new UnaryTransformType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected UnaryTransformType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public UnaryTransformType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.QualifiedType BaseType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType); - } - - 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; - } - } - } - - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - - [FieldOffset(24)] - public uint numElements; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new VectorType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) - { - return new VectorType(native, skipVTables); - } - - 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_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VectorType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public VectorType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - 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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType ElementType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType); - } - - 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; - } - } - - public uint NumElements - { - get - { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; - } - - set - { - ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements = value; - } - } - } - - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.PrimitiveType type; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] - internal static extern void cctor_2(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 BuiltinType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - { - return new 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_2(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_0((__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_2((__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 VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.VTableComponentKind kind; - - [FieldOffset(4)] - public uint offset; - - [FieldOffset(8)] - public global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] - internal static extern void cctor_1(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 VTableComponent(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) - { - return new 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_0((__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) - { - global::CppSharp.Parser.AST.VTableComponent __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - 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 VTableLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.__1.Vector.__Internal Components; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] - internal static extern void cctor_1(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_0(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_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] - internal static extern uint GetComponentsCount_0(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 VTableLayout(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - { - return new 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_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VTableLayout(global::CppSharp.Parser.AST.VTableLayout.__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 VTableLayout(void* native, bool skipVTables = false) + protected LayoutField(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableLayout() + public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__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_1((__Instance + __PointerAdjustment), __arg0); } @@ -5159,7 +3582,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.VTableLayout __dummy; + global::CppSharp.Parser.AST.LayoutField __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5167,123 +3590,142 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) + public uint Offset { - var __ret = __Internal.GetComponents_0((__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset = value; + } } - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) + public global::CppSharp.Parser.AST.QualifiedType 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 void ClearComponents() + public global::System.IntPtr FieldPtr { - __Internal.ClearComponents_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr = (global::System.IntPtr) value; + } } - public uint ComponentsCount + public string Name { get { - var __ret = __Internal.GetComponentsCount_0((__Instance + __PointerAdjustment)); - return __ret; + var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetName_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class VFTableInfo : IDisposable + public unsafe partial class LayoutBase : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { [FieldOffset(0)] - public ulong VBTableIndex; + public uint offset; [FieldOffset(8)] - public uint VFPtrOffset; - - [FieldOffset(12)] - public uint VFPtrFullOffset; - - [FieldOffset(16)] - public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + public global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] internal static extern void dtor_0(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.VFTableInfo __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 VFTableInfo(native.ToPointer(), skipVTables); + return new LayoutBase(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.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new VFTableInfo(native, skipVTables); + return new LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__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 VFTableInfo(void* native, bool skipVTables = false) + protected LayoutBase(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VFTableInfo() + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__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_1((__Instance + __PointerAdjustment), __arg0); } @@ -5294,7 +3736,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.VFTableInfo __dummy; + global::CppSharp.Parser.AST.LayoutBase __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5302,158 +3744,205 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - 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 + public uint Offset { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset = value; + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset = value; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public global::CppSharp.Parser.AST.Class Class { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout); + 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.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.LayoutBase.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class LayoutField : IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public partial struct __Internal { [FieldOffset(0)] - public uint offset; + public global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(8)] - public global::Std.__1.BasicString.__Internal Name; + internal global::Std.__1.Vector.__Internal VFTables; [FieldOffset(32)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; - [FieldOffset(48)] - public global::System.IntPtr fieldPtr; + [FieldOffset(56)] + public byte hasOwnVFPtr; + + [FieldOffset(64)] + public long VBPtrOffset; + + [FieldOffset(72)] + public int alignment; + + [FieldOffset(76)] + public int size; + + [FieldOffset(80)] + public int dataSize; + + [FieldOffset(88)] + internal global::Std.__1.Vector.__Internal Fields; + + [FieldOffset(112)] + internal global::Std.__1.Vector.__Internal Bases; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr other); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] + internal static extern void cctor_2(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] + internal static extern void GetVFTables_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] + internal static extern void GetFields_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] + internal static extern void GetBases_0(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_0(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_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] + internal static extern uint GetVFTablesCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7getNameEv")] - internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] + internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7setNameEPKc")] - internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] + internal static extern uint GetBasesCount_0(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.LayoutField __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 LayoutField(native.ToPointer(), skipVTables); + return new ClassLayout(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.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new LayoutField(native, skipVTables); + return new ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__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 LayoutField(void* native, bool skipVTables = false) + protected ClassLayout(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutField() + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__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_1((__Instance + __PointerAdjustment), __arg0); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -5463,7 +3952,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.LayoutField __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5471,359 +3960,386 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public uint Offset + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + { + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVFTables() + { + __Internal.ClearVFTables_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.CppAbi ABI { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset = value; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI = value; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType); + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout); } 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.ClassLayout.__Internal*) __Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } - public global::System.IntPtr FieldPtr + public bool HasOwnVFPtr { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); } } - public string Name + public long VBPtrOffset { get { - var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; } set { - __Internal.SetName_0((__Instance + __PointerAdjustment), value); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset = value; } } - } - - public unsafe partial class LayoutBase : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - public uint offset; - - [FieldOffset(8)] - public global::System.IntPtr _class; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] - internal static extern void cctor_1(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_0(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 LayoutBase(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) - { - return new 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_1(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() + public int Alignment { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + } - 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_1((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment = value; + } } - public void Dispose() + public int Size { - Dispose(disposing: true); - } + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + } - public virtual void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.LayoutBase __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size = value; + } } - public uint Offset + public int DataSize { get { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset = value; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize = value; + } + } + + public uint VFTablesCount + { + get + { + var __ret = __Internal.GetVFTablesCount_0((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.Class Class + public uint FieldsCount { 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; + var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint BasesCount + { + get { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class ClassLayout : IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 192)] public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.CppAbi ABI; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - internal global::Std.__1.Vector.__Internal VFTables; + public global::System.IntPtr _namespace; - [FieldOffset(32)] - public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(56)] - public byte hasOwnVFPtr; + [FieldOffset(20)] + public int lineNumberStart; - [FieldOffset(64)] - public long VBPtrOffset; + [FieldOffset(24)] + public int lineNumberEnd; - [FieldOffset(72)] - public int alignment; + [FieldOffset(32)] + public global::Std.__1.BasicString.__Internal Name; - [FieldOffset(76)] - public int size; + [FieldOffset(56)] + public global::Std.__1.BasicString.__Internal USR; [FieldOffset(80)] - public int dataSize; + public global::Std.__1.BasicString.__Internal DebugText; - [FieldOffset(88)] - internal global::Std.__1.Vector.__Internal Fields; + [FieldOffset(104)] + public byte isIncomplete; + + [FieldOffset(105)] + public byte isDependent; + + [FieldOffset(106)] + public byte isImplicit; [FieldOffset(112)] - internal global::Std.__1.Vector.__Internal Bases; + public global::System.IntPtr completeDeclaration; + + [FieldOffset(120)] + public uint definitionOrder; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(176)] + public global::System.IntPtr originalPtr; + + [FieldOffset(184)] + public global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] - internal static extern void GetVFTables_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] + internal static extern global::System.IntPtr GetPreprocessedEntities_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] + internal static extern void AddPreprocessedEntities_0(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_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] + internal static extern void ClearPreprocessedEntities_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] - internal static extern void GetFields_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] + internal static extern global::System.IntPtr GetRedeclarations_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] + internal static extern void AddRedeclarations_0(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_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] + internal static extern void ClearRedeclarations_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] - internal static extern void GetBases_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7getNameEv")] + internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] - internal static extern void AddBases_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc")] + internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] - internal static extern void ClearBases_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6getUSREv")] + internal static extern global::System.IntPtr USR_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] - internal static extern uint GetVFTablesCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6setUSREPKc")] + internal static extern void SetUSR_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] - internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv")] + internal static extern global::System.IntPtr DebugText_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] - internal static extern uint GetBasesCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc")] + internal static extern void SetDebugText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] + internal static extern uint GetPreprocessedEntitiesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] + internal static extern uint GetRedeclarationsCount_0(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.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new ClassLayout(native.ToPointer(), skipVTables); + return new Declaration(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.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new ClassLayout(native, skipVTables); + return new Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__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 ClassLayout(void* native, bool skipVTables = false) + protected Declaration(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassLayout() + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -5833,7 +4349,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.ClassLayout __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5841,180 +4357,299 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); + var __ret = __Internal.GetPreprocessedEntities_0((__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 AddVFTables(global::CppSharp.Parser.AST.VFTableInfo 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.AddVFTables_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearPreprocessedEntities() + { + __Internal.ClearPreprocessedEntities_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations_0((__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 void ClearVFTables() - { - __Internal.ClearVFTables_0((__Instance + __PointerAdjustment)); + 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.LayoutField GetFields(uint i) + public global::CppSharp.Parser.AST.DeclarationContext Namespace { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + 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 void AddFields(global::CppSharp.Parser.AST.LayoutField s) + public global::CppSharp.Parser.SourceLocation Location { - 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_0((__Instance + __PointerAdjustment), __arg0); + 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 void ClearFields() + public int LineNumberStart { - __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart = value; + } } - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + public int LineNumberEnd { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd = value; + } } - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + public bool IsIncomplete { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete = (byte) (value ? 1 : 0); + } } - public void ClearBases() + public bool IsDependent { - __Internal.ClearBases_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.CppAbi ABI + public bool IsImplicit { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout); + 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.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.Declaration.__Internal*) __Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool HasOwnVFPtr + public uint DefinitionOrder { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder = value; } } - public long VBPtrOffset + public global::System.IntPtr OriginalPtr { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; } } - public int Alignment + public global::CppSharp.Parser.AST.RawComment Comment { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + 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.ClassLayout.__Internal*) __Instance)->alignment = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public int Size + public string Name { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size = value; + __Internal.SetName_0((__Instance + __PointerAdjustment), value); } } - public int DataSize + public string USR { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + var __ret = __Internal.USR_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize = value; + __Internal.SetUSR_0((__Instance + __PointerAdjustment), value); } } - public uint VFTablesCount + public string DebugText { get { - var __ret = __Internal.GetVFTablesCount_0((__Instance + __PointerAdjustment)); - return __ret; + var __ret = __Internal.DebugText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetDebugText_0((__Instance + __PointerAdjustment), value); } } - public uint FieldsCount + public uint PreprocessedEntitiesCount { get { - var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment)); return __ret; } } - public uint BasesCount + public uint RedeclarationsCount { get { - var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetRedeclarationsCount_0((__Instance + __PointerAdjustment)); return __ret; } } @@ -6688,109 +5323,130 @@ namespace CppSharp } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 208)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.RawCommentKind kind; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::Std.__1.BasicString.__Internal Text; + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; [FieldOffset(32)] - public global::Std.__1.BasicString.__Internal BriefText; + public global::Std.__1.BasicString.__Internal Name; [FieldOffset(56)] - public global::System.IntPtr fullCommentBlock; + public global::Std.__1.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + [FieldOffset(80)] + public global::Std.__1.BasicString.__Internal DebugText; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(104)] + public byte isIncomplete; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + [FieldOffset(105)] + public byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7getTextEv")] - internal static extern global::System.IntPtr Text_0(global::System.IntPtr instance); + [FieldOffset(106)] + public byte isImplicit; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc")] - internal static extern void SetText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(112)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(120)] + public uint definitionOrder; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(176)] + public global::System.IntPtr originalPtr; + + [FieldOffset(184)] + public global::System.IntPtr comment; + + [FieldOffset(192)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv")] - internal static extern global::System.IntPtr BriefText_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc")] - internal static extern void SetBriefText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - } - - 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; + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.RawComment __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 RawComment(native.ToPointer(), skipVTables); + return new TypedefNameDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__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 RawComment(native, skipVTables); + return new TypedefNameDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__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 RawComment(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 RawComment() + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6799,14 +5455,9 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -6814,202 +5465,171 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - 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 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; - } - } - - public string Text + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - var __ret = __Internal.Text_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } - - set - { - __Internal.SetText_0((__Instance + __PointerAdjustment), value); - } + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } - public string BriefText + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - var __ret = __Internal.BriefText_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType); } set { - __Internal.SetBriefText_0((__Instance + __PointerAdjustment), 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 PreprocessedEntity : IDisposable + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 208)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.MacroLocation macroLocation; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr originalPtr; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(56)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(80)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(104)] + public byte isIncomplete; + + [FieldOffset(105)] + public byte isDependent; + + [FieldOffset(106)] + public byte isImplicit; + + [FieldOffset(112)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(120)] + public uint definitionOrder; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(176)] + public global::System.IntPtr originalPtr; + + [FieldOffset(184)] + public global::System.IntPtr comment; + + [FieldOffset(192)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] internal static extern void cctor_1(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="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __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 PreprocessedEntity(native.ToPointer(), skipVTables); + return new TypedefDecl(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.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new PreprocessedEntity(native, skipVTables); + return new TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__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.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__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 PreprocessedEntity(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TypedefDecl() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__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) - { - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.MacroLocation MacroLocation - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation = value; - } - } - - public global::System.IntPtr OriginalPtr - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; - } + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.DeclarationKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind = value; - } + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 480)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public new partial struct __Internal { [FieldOffset(0)] @@ -7067,302 +5687,213 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(192)] - internal global::Std.__1.Vector.__Internal Namespaces; - - [FieldOffset(216)] - internal global::Std.__1.Vector.__Internal Enums; - - [FieldOffset(240)] - internal global::Std.__1.Vector.__Internal Functions; - - [FieldOffset(264)] - internal global::Std.__1.Vector.__Internal Classes; - - [FieldOffset(288)] - internal global::Std.__1.Vector.__Internal Templates; - - [FieldOffset(312)] - internal global::Std.__1.Vector.__Internal Typedefs; - - [FieldOffset(336)] - internal global::Std.__1.Vector.__Internal TypeAliases; - - [FieldOffset(360)] - internal global::Std.__1.Vector.__Internal Variables; - - [FieldOffset(384)] - internal global::Std.__1.Vector.__Internal Friends; - - [FieldOffset(408)] - internal global::Std.__1.Map.__Internal anonymous; - - [FieldOffset(432)] - public byte isAnonymous; - - [FieldOffset(436)] - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; - - [FieldOffset(440)] - public global::System.IntPtr type; - - [FieldOffset(448)] - public global::System.IntPtr builtinType; + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(456)] - internal global::Std.__1.Vector.__Internal Items; + [FieldOffset(208)] + public global::System.IntPtr describedAliasTemplate; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] - internal static extern global::System.IntPtr GetItems_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] - internal static extern void ClearItems_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] - internal static extern uint GetItemsCount_0(global::System.IntPtr instance); } - [Flags] - public enum EnumModifiers + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Anonymous = 1, - Scoped = 2, - Flags = 4 + return new TypeAlias(native.ToPointer(), skipVTables); } - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) { - [StructLayout(LayoutKind.Explicit, Size = 224)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(56)] - public global::Std.__1.BasicString.__Internal USR; + return new TypeAlias(native, skipVTables); + } - [FieldOffset(80)] - public global::Std.__1.BasicString.__Internal DebugText; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(104)] - public byte isIncomplete; + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(105)] - public byte isDependent; + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(106)] - public byte isImplicit; + public TypeAlias() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(112)] - public global::System.IntPtr completeDeclaration; + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) + { + __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_1((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(120)] - public uint definitionOrder; + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + { + 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; + } - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Redeclarations; + set + { + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(176)] - public global::System.IntPtr originalPtr; + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 200)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(184)] - public global::System.IntPtr comment; + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(192)] - public global::Std.__1.BasicString.__Internal Expression; + [FieldOffset(8)] + public global::System.IntPtr _namespace; - [FieldOffset(216)] - public ulong value; + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + [FieldOffset(20)] + public int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(24)] + public int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + [FieldOffset(32)] + public global::Std.__1.BasicString.__Internal Name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv")] - internal static extern global::System.IntPtr Expression_0(global::System.IntPtr instance); + [FieldOffset(56)] + public global::Std.__1.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc")] - internal static extern void SetExpression_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - } + [FieldOffset(80)] + public global::Std.__1.BasicString.__Internal DebugText; - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new Item(native.ToPointer(), skipVTables); - } + [FieldOffset(104)] + public byte isIncomplete; - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new Item(native, skipVTables); - } + [FieldOffset(105)] + public byte isDependent; - 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_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(106)] + public byte isImplicit; - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(112)] + public global::System.IntPtr completeDeclaration; - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(120)] + public uint definitionOrder; - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; - 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_1((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Redeclarations; - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } + [FieldOffset(176)] + public global::System.IntPtr originalPtr; - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } + [FieldOffset(184)] + public global::System.IntPtr comment; - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value = value; - } - } + [FieldOffset(192)] + public global::System.IntPtr declaration; - public string Expression - { - get - { - var __ret = __Internal.Expression_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - set - { - __Internal.SetExpression_0((__Instance + __PointerAdjustment), value); - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Enumeration __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 Enumeration(native.ToPointer(), skipVTables); + return new Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__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 Enumeration(native, skipVTables); + return new Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__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 Enumeration(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7371,19 +5902,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Enumeration() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7402,293 +5933,321 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + public global::CppSharp.Parser.AST.Declaration Declaration { - var __ret = __Internal.GetItems_0((__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 + { + 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 void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + public unsafe partial class Statement : 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.AddItems_0((__Instance + __PointerAdjustment), __arg0); + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(8)] + public global::System.IntPtr decl; + + [FieldOffset(16)] + public global::Std.__1.BasicString.__Internal String; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + internal static extern void cctor_2(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9getStringEv")] + internal static extern global::System.IntPtr String_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9setStringEPKc")] + internal static extern void SetString_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - public void ClearItems() + 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 Statement(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + { + return new 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_2(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(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_2((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { - __Internal.ClearItems_0((__Instance + __PointerAdjustment)); + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers + public global::CppSharp.Parser.AST.StatementClass Class { get { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; + return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers = value; + ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class = value; } } - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.Declaration Decl { 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); + 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.Enumeration.__Internal*) __Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.BuiltinType BuiltinType + public string String { 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; + var __ret = __Internal.String_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } 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_0((__Instance + __PointerAdjustment)); - return __ret; + __Internal.SetString_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 360)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - public global::System.IntPtr _namespace; + public global::System.IntPtr decl; [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(56)] - public global::Std.__1.BasicString.__Internal USR; - - [FieldOffset(80)] - public global::Std.__1.BasicString.__Internal DebugText; - - [FieldOffset(104)] - public byte isIncomplete; - - [FieldOffset(105)] - public byte isDependent; - - [FieldOffset(106)] - public byte isImplicit; - - [FieldOffset(112)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(120)] - public uint definitionOrder; - - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; - - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Redeclarations; - - [FieldOffset(176)] - public global::System.IntPtr originalPtr; - - [FieldOffset(184)] - public global::System.IntPtr comment; - - [FieldOffset(192)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(208)] - public byte isReturnIndirect; - - [FieldOffset(209)] - public byte hasThisReturn; - - [FieldOffset(210)] - public byte isConstExpr; - - [FieldOffset(211)] - public byte isVariadic; - - [FieldOffset(212)] - public byte isInline; - - [FieldOffset(213)] - public byte isPure; - - [FieldOffset(214)] - public byte isDeleted; - - [FieldOffset(216)] - public global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(220)] - public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(224)] - public global::Std.__1.BasicString.__Internal Mangled; - - [FieldOffset(248)] - public global::Std.__1.BasicString.__Internal Signature; - - [FieldOffset(272)] - public global::Std.__1.BasicString.__Internal Body; - - [FieldOffset(296)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(304)] - internal global::Std.__1.Vector.__Internal Parameters; - - [FieldOffset(328)] - public global::System.IntPtr specializationInfo; - - [FieldOffset(336)] - public global::System.IntPtr instantiatedFrom; - - [FieldOffset(344)] - public 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_0(global::System.IntPtr instance); + public global::Std.__1.BasicString.__Internal String; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] - internal static extern global::System.IntPtr GetParameters_0(global::System.IntPtr instance, uint i); + internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Expression(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters_0(global::System.IntPtr instance, global::System.IntPtr s); + internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + { + return new Expression(native, skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] - internal static extern void ClearParameters_0(global::System.IntPtr instance); + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function10getMangledEv")] - internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + private Expression(global::CppSharp.Parser.AST.Expression.__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="_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc")] - internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + protected Expression(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + 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_1((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + } + + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(8)] + public global::System.IntPtr decl; + + [FieldOffset(16)] + public global::Std.__1.BasicString.__Internal String; + + [FieldOffset(40)] + public global::System.IntPtr LHS; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function12getSignatureEv")] - internal static extern global::System.IntPtr Signature_0(global::System.IntPtr instance); + [FieldOffset(48)] + public global::System.IntPtr RHS; + + [FieldOffset(56)] + public global::Std.__1.BasicString.__Internal OpcodeStr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc")] - internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function7getBodyEv")] - internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc")] - internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12getOpcodeStrEv")] + internal static extern global::System.IntPtr OpcodeStr_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] - internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12setOpcodeStrEPKc")] + internal static extern void SetOpcodeStr_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - internal static new global::CppSharp.Parser.AST.Function __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 Function(native.ToPointer(), skipVTables); + return new BinaryOperator(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__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 Function(native, skipVTables); + return new BinaryOperator(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Function(global::CppSharp.Parser.AST.Function.__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 Function(void* native, bool skipVTables = false) + protected BinaryOperator(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7697,19 +6256,10 @@ namespace CppSharp __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_0((__Instance + __PointerAdjustment)); - } - - public Function(global::CppSharp.Parser.AST.Function _0) + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7720,7 +6270,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -7728,377 +6278,267 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 + public global::CppSharp.Parser.AST.Expression LHS { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 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.Function.__Internal*) __Instance)->hasThisReturn = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsConstExpr + public global::CppSharp.Parser.AST.Expression RHS { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 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.Function.__Internal*) __Instance)->isConstExpr = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsVariadic + public string OpcodeStr { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + var __ret = __Internal.OpcodeStr_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic = (byte) (value ? 1 : 0); + __Internal.SetOpcodeStr_0((__Instance + __PointerAdjustment), value); } } + } - public bool IsInline + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); - } - } + [FieldOffset(8)] + public global::System.IntPtr decl; - public bool IsPure - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; - } + [FieldOffset(16)] + public global::Std.__1.BasicString.__Internal String; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure = (byte) (value ? 1 : 0); - } - } + [FieldOffset(40)] + internal global::Std.__1.Vector.__Internal Arguments; - public bool IsDeleted - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted = (byte) (value ? 1 : 0); - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - public global::CppSharp.Parser.AST.FriendKind FriendKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind = value; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind = value; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - public global::CppSharp.Parser.AST.CallingConvention CallingConvention + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; - } - - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention = value; - } + return new CallExpr(native.ToPointer(), skipVTables); } - 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; - } + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + { + return new CallExpr(native, skipVTables); } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) { - 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; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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; - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public string Mangled + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); - } + 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_1((__Instance + __PointerAdjustment), __arg0); } - public string Signature + public override void Dispose(bool disposing) { - get - { - var __ret = __Internal.Signature_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - set - { - __Internal.SetSignature_0((__Instance + __PointerAdjustment), value); - } + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + { + var __ret = __Internal.GetArguments_0((__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 string Body + public void AddArguments(global::CppSharp.Parser.AST.Expression s) { - get - { - var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + 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_0((__Instance + __PointerAdjustment), __arg0); + } - set - { - __Internal.SetBody_0((__Instance + __PointerAdjustment), value); - } + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); } - public uint ParametersCount + public uint ArgumentsCount { get { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 208)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - public global::System.IntPtr _namespace; + public global::System.IntPtr decl; [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.__1.BasicString.__Internal Name; - - [FieldOffset(56)] - public global::Std.__1.BasicString.__Internal USR; - - [FieldOffset(80)] - public global::Std.__1.BasicString.__Internal DebugText; - - [FieldOffset(104)] - public byte isIncomplete; - - [FieldOffset(105)] - public byte isDependent; - - [FieldOffset(106)] - public byte isImplicit; - - [FieldOffset(112)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(120)] - public uint definitionOrder; - - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; + public global::Std.__1.BasicString.__Internal String; - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Redeclarations; + [FieldOffset(40)] + internal global::Std.__1.Vector.__Internal Arguments; - [FieldOffset(176)] - public global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(184)] - public global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(192)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefDecl __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 TypedefDecl(native.ToPointer(), skipVTables); + return new CXXConstructExpr(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.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) { - return new TypedefDecl(native, skipVTables); + return new CXXConstructExpr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__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 TypedefDecl(void* native, bool skipVTables = false) + protected CXXConstructExpr(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8107,19 +6547,10 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefDecl() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8130,18 +6561,51 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + { + var __ret = __Internal.GetArguments_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 216)] + [StructLayout(LayoutKind.Explicit, Size = 224)] public new partial struct __Internal { [FieldOffset(0)] @@ -8202,49 +6666,58 @@ namespace CppSharp public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(208)] - public global::System.IntPtr describedAliasTemplate; + public byte isIndirect; + + [FieldOffset(209)] + public byte hasDefaultValue; + + [FieldOffset(212)] + public uint index; + + [FieldOffset(216)] + public global::System.IntPtr defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] internal static extern void dtor_0(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.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypeAlias(native.ToPointer(), skipVTables); + return new Parameter(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.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) { - return new TypeAlias(native, skipVTables); + return new Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__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 TypeAlias(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8253,19 +6726,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAlias() + public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8284,28 +6757,80 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { 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 global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + } + } + + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + } + + set + { + ((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.TypeAlias.__Internal*) __Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 440)] + [StructLayout(LayoutKind.Explicit, Size = 360)] public new partial struct __Internal { [FieldOffset(0)] @@ -8363,82 +6888,150 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(192)] - internal global::Std.__1.Vector.__Internal Namespaces; + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - [FieldOffset(216)] - internal global::Std.__1.Vector.__Internal Enums; + [FieldOffset(208)] + public byte isReturnIndirect; - [FieldOffset(240)] - internal global::Std.__1.Vector.__Internal Functions; + [FieldOffset(209)] + public byte hasThisReturn; - [FieldOffset(264)] - internal global::Std.__1.Vector.__Internal Classes; + [FieldOffset(210)] + public byte isConstExpr; - [FieldOffset(288)] - internal global::Std.__1.Vector.__Internal Templates; + [FieldOffset(211)] + public byte isVariadic; - [FieldOffset(312)] - internal global::Std.__1.Vector.__Internal Typedefs; + [FieldOffset(212)] + public byte isInline; - [FieldOffset(336)] - internal global::Std.__1.Vector.__Internal TypeAliases; + [FieldOffset(213)] + public byte isPure; - [FieldOffset(360)] - internal global::Std.__1.Vector.__Internal Variables; + [FieldOffset(214)] + public byte isDeleted; - [FieldOffset(384)] - internal global::Std.__1.Vector.__Internal Friends; + [FieldOffset(216)] + public global::CppSharp.Parser.AST.FriendKind friendKind; - [FieldOffset(408)] - internal global::Std.__1.Map.__Internal anonymous; + [FieldOffset(220)] + public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - [FieldOffset(432)] - public byte isAnonymous; + [FieldOffset(224)] + public global::Std.__1.BasicString.__Internal Mangled; - [FieldOffset(433)] - public byte isInline; + [FieldOffset(248)] + public global::Std.__1.BasicString.__Internal Signature; + + [FieldOffset(272)] + public global::Std.__1.BasicString.__Internal Body; + + [FieldOffset(296)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(304)] + internal global::Std.__1.Vector.__Internal Parameters; + + [FieldOffset(328)] + public global::System.IntPtr specializationInfo; + + [FieldOffset(336)] + public global::System.IntPtr instantiatedFrom; + + [FieldOffset(344)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] + internal static extern global::System.IntPtr GetParameters_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function10getMangledEv")] + internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc")] + internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function12getSignatureEv")] + internal static extern global::System.IntPtr Signature_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc")] + internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7getBodyEv")] + internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc")] + internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] + internal static extern uint GetParametersCount_0(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.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Namespace(native.ToPointer(), skipVTables); + return new Function(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.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new Namespace(native, skipVTables); + return new Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__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 Namespace(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8447,19 +7040,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8478,169 +7071,277 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsInline + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType); } set { - ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + ((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 TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 224)] - public new partial struct __Internal + public bool IsReturnIndirect { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + } - [FieldOffset(32)] - public global::Std.__1.BasicString.__Internal Name; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + } + } - [FieldOffset(56)] - public global::Std.__1.BasicString.__Internal USR; + public bool HasThisReturn + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + } - [FieldOffset(80)] - public global::Std.__1.BasicString.__Internal DebugText; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn = (byte) (value ? 1 : 0); + } + } - [FieldOffset(104)] - public byte isIncomplete; + public bool IsConstExpr + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + } - [FieldOffset(105)] - public byte isDependent; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr = (byte) (value ? 1 : 0); + } + } - [FieldOffset(106)] - public byte isImplicit; + public bool IsVariadic + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + } - [FieldOffset(112)] - public global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(120)] - public uint definitionOrder; + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + } - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + } + } - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Redeclarations; + public bool IsPure + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + } - [FieldOffset(176)] - public global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure = (byte) (value ? 1 : 0); + } + } - [FieldOffset(184)] - public global::System.IntPtr comment; + public bool IsDeleted + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + } - [FieldOffset(192)] - public global::System.IntPtr TemplatedDecl; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted = (byte) (value ? 1 : 0); + } + } - [FieldOffset(200)] - internal global::Std.__1.Vector.__Internal Parameters; + public global::CppSharp.Parser.AST.FriendKind FriendKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind = value; + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind = value; + } } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { - return new TypeAliasTemplate(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention = value; + } } - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo { - return new TypeAliasTemplate(native, skipVTables); + 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; + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + public global::CppSharp.Parser.AST.Function InstantiatedFrom { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + 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; + } } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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; + } } - protected TypeAliasTemplate(void* native, bool skipVTables = false) - : base((void*) null) + public string Mangled { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); + } } - public TypeAliasTemplate() - : this((void*) null) + public string Signature { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.Signature_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetSignature_0((__Instance + __PointerAdjustment), value); + } } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) - : this((void*) null) + public string Body { - __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_1((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBody_0((__Instance + __PointerAdjustment), value); + } } - public override void Dispose(bool disposing) + public uint ParametersCount { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + get + { + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 248)] + [StructLayout(LayoutKind.Explicit, Size = 400)] public new partial struct __Internal { [FieldOffset(0)] @@ -8698,277 +7399,133 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(192)] - public global::System.IntPtr TemplatedDecl; - - [FieldOffset(200)] - internal global::Std.__1.Vector.__Internal Parameters; - - [FieldOffset(224)] - internal global::Std.__1.Vector.__Internal Specializations; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] - internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new ClassTemplate(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) - { - return new ClassTemplate(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected ClassTemplate(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.QualifiedType.__Internal returnType; - public ClassTemplate() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + [FieldOffset(208)] + public byte isReturnIndirect; - public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__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_1((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(209)] + public byte hasThisReturn; - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } + [FieldOffset(210)] + public byte isConstExpr; - public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations_0((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(211)] + public byte isVariadic; - public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization 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_0((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(212)] + public byte isInline; - public void ClearSpecializations() - { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); - } + [FieldOffset(213)] + public byte isPure; - public uint SpecializationsCount - { - get - { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(214)] + public byte isDeleted; - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 248)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(216)] + public global::CppSharp.Parser.AST.FriendKind friendKind; - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + [FieldOffset(220)] + public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [FieldOffset(224)] + public global::Std.__1.BasicString.__Internal Mangled; - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(248)] + public global::Std.__1.BasicString.__Internal Signature; - [FieldOffset(20)] - public int lineNumberStart; + [FieldOffset(272)] + public global::Std.__1.BasicString.__Internal Body; - [FieldOffset(24)] - public int lineNumberEnd; + [FieldOffset(296)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(32)] - public global::Std.__1.BasicString.__Internal Name; + [FieldOffset(304)] + internal global::Std.__1.Vector.__Internal Parameters; - [FieldOffset(56)] - public global::Std.__1.BasicString.__Internal USR; + [FieldOffset(328)] + public global::System.IntPtr specializationInfo; - [FieldOffset(80)] - public global::Std.__1.BasicString.__Internal DebugText; + [FieldOffset(336)] + public global::System.IntPtr instantiatedFrom; - [FieldOffset(104)] - public byte isIncomplete; + [FieldOffset(344)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(105)] - public byte isDependent; + [FieldOffset(360)] + public byte isVirtual; - [FieldOffset(106)] - public byte isImplicit; + [FieldOffset(361)] + public byte isStatic; - [FieldOffset(112)] - public global::System.IntPtr completeDeclaration; + [FieldOffset(362)] + public byte isConst; - [FieldOffset(120)] - public uint definitionOrder; + [FieldOffset(363)] + public byte isExplicit; - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; + [FieldOffset(364)] + public byte isOverride; - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Redeclarations; + [FieldOffset(368)] + public global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(176)] - public global::System.IntPtr originalPtr; + [FieldOffset(372)] + public byte isDefaultConstructor; - [FieldOffset(184)] - public global::System.IntPtr comment; + [FieldOffset(373)] + public byte isCopyConstructor; - [FieldOffset(192)] - public global::System.IntPtr TemplatedDecl; + [FieldOffset(374)] + public byte isMoveConstructor; - [FieldOffset(200)] - internal global::Std.__1.Vector.__Internal Parameters; + [FieldOffset(376)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; - [FieldOffset(224)] - internal global::Std.__1.Vector.__Internal Specializations; + [FieldOffset(392)] + public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount_0(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 FunctionTemplate(native.ToPointer(), skipVTables); + return new 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 FunctionTemplate(native, skipVTables); + return new 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_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor_1(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; @@ -8977,19 +7534,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_0((__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)) @@ -9008,43 +7565,153 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + public bool IsVirtual { - var __ret = __Internal.GetSpecializations_0((__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; + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); + } } - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + public bool IsStatic { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic = (byte) (value ? 1 : 0); + } } - public void ClearSpecializations() + public bool IsConst { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst = (byte) (value ? 1 : 0); + } } - public uint SpecializationsCount + public bool IsExplicit { get { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public bool IsOverride + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride = (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(((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 unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 480)] public new partial struct __Internal { [FieldOffset(0)] @@ -9102,62 +7769,302 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(192)] - public global::Std.__1.BasicString.__Internal Mangled; + internal global::Std.__1.Vector.__Internal Namespaces; [FieldOffset(216)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal global::Std.__1.Vector.__Internal Enums; + + [FieldOffset(240)] + internal global::Std.__1.Vector.__Internal Functions; + + [FieldOffset(264)] + internal global::Std.__1.Vector.__Internal Classes; + + [FieldOffset(288)] + internal global::Std.__1.Vector.__Internal Templates; + + [FieldOffset(312)] + internal global::Std.__1.Vector.__Internal Typedefs; + + [FieldOffset(336)] + internal global::Std.__1.Vector.__Internal TypeAliases; + + [FieldOffset(360)] + internal global::Std.__1.Vector.__Internal Variables; + + [FieldOffset(384)] + internal global::Std.__1.Vector.__Internal Friends; + + [FieldOffset(408)] + internal global::Std.__1.Map.__Internal anonymous; + + [FieldOffset(432)] + public byte isAnonymous; + + [FieldOffset(436)] + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(440)] + public global::System.IntPtr type; + + [FieldOffset(448)] + public global::System.IntPtr builtinType; + + [FieldOffset(456)] + internal global::Std.__1.Vector.__Internal Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10getMangledEv")] - internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] + internal static extern global::System.IntPtr GetItems_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc")] - internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] + internal static extern void AddItems_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] + internal static extern void ClearItems_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] + internal static extern uint GetItemsCount_0(global::System.IntPtr instance); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } + + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 224)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(56)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(80)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(104)] + public byte isIncomplete; + + [FieldOffset(105)] + public byte isDependent; + + [FieldOffset(106)] + public byte isImplicit; + + [FieldOffset(112)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(120)] + public uint definitionOrder; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(176)] + public global::System.IntPtr originalPtr; + + [FieldOffset(184)] + public global::System.IntPtr comment; + + [FieldOffset(192)] + public global::Std.__1.BasicString.__Internal Expression; + + [FieldOffset(216)] + public ulong value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv")] + internal static extern global::System.IntPtr Expression_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc")] + internal static extern void SetExpression_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } + + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new 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 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + 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; + } + } + + public string Expression + { + get + { + var __ret = __Internal.Expression_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetExpression_0((__Instance + __PointerAdjustment), value); + } + } } - internal static new global::CppSharp.Parser.AST.Variable __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 Variable(native.ToPointer(), skipVTables); + return new Enumeration(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.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new Variable(native, skipVTables); + return new Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__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 Variable(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9166,19 +8073,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9197,37 +8104,92 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + { + var __ret = __Internal.GetItems_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearItems() + { + __Internal.ClearItems_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType); + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; } 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.Enumeration.__Internal*) __Instance)->modifiers = value; } } - public string Mangled + public global::CppSharp.Parser.AST.Type Type { get { - var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + 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 { - __Internal.SetMangled_0((__Instance + __PointerAdjustment), 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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 200)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] @@ -9285,49 +8247,62 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(192)] - public global::System.IntPtr declaration; + public global::Std.__1.BasicString.__Internal Mangled; + + [FieldOffset(216)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10getMangledEv")] + internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc")] + internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - internal static new global::CppSharp.Parser.AST.Friend __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 Friend(native.ToPointer(), skipVTables); + return new Variable(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.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new Friend(native, skipVTables); + return new Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Friend(global::CppSharp.Parser.AST.Friend.__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 Friend(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9336,19 +8311,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Friend() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9367,108 +8342,115 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { 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; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType); } set { - ((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : 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 string Mangled + { + get + { + var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class Statement : IDisposable + public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(4)] + public byte isVirtual; [FieldOffset(8)] - public global::System.IntPtr decl; + public global::System.IntPtr type; [FieldOffset(16)] - public global::Std.__1.BasicString.__Internal String; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] - internal static extern void cctor_2(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_0(global::System.IntPtr instance); + public int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9getStringEv")] - internal static extern global::System.IntPtr String_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9setStringEPKc")] - internal static extern void SetString_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] + internal static extern void cctor_1(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(); + 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 global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Statement(native.ToPointer(), skipVTables); + return new BaseClassSpecifier(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.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new Statement(native, skipVTables); + return new BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor_2(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 Statement(global::CppSharp.Parser.AST.Statement.__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 Statement(void* native, bool skipVTables = false) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + { + __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); } public void Dispose() @@ -9478,110 +8460,182 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.StatementClass Class + 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.Statement.__Internal*) __Instance)->_class; + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class = value; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.Declaration Decl + public global::CppSharp.Parser.AST.Type Type { 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.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.Statement.__Internal*) __Instance)->decl = 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 string String + public int Offset { get { - var __ret = __Internal.String_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; } set { - __Internal.SetString_0((__Instance + __PointerAdjustment), value); + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset = value; } } } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 224)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr decl; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public global::Std.__1.BasicString.__Internal String; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(56)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(80)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(104)] + public byte isIncomplete; + + [FieldOffset(105)] + public byte isDependent; + + [FieldOffset(106)] + public byte isImplicit; + + [FieldOffset(112)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(120)] + public uint definitionOrder; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(176)] + public global::System.IntPtr originalPtr; + + [FieldOffset(184)] + public global::System.IntPtr comment; + + [FieldOffset(192)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(208)] + public global::System.IntPtr _class; + + [FieldOffset(216)] + public byte isBitField; + + [FieldOffset(220)] + public uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Expression __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 Expression(native.ToPointer(), skipVTables); + return new Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__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 Expression(native, skipVTables); + return new Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Expression(global::CppSharp.Parser.AST.Expression.__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 Expression(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9590,10 +8644,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Expression(global::CppSharp.Parser.AST.Expression _0) + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Field(global::CppSharp.Parser.AST.Field _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9604,84 +8667,172 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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.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 BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 192)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr decl; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public global::Std.__1.BasicString.__Internal String; + public global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(40)] - public global::System.IntPtr LHS; + [FieldOffset(20)] + public int lineNumberStart; - [FieldOffset(48)] - public global::System.IntPtr RHS; + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.__1.BasicString.__Internal Name; [FieldOffset(56)] - public global::Std.__1.BasicString.__Internal OpcodeStr; + public global::Std.__1.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(80)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(104)] + public byte isIncomplete; + + [FieldOffset(105)] + public byte isDependent; + + [FieldOffset(106)] + public byte isImplicit; + + [FieldOffset(112)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(120)] + public uint definitionOrder; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(176)] + public global::System.IntPtr originalPtr; + + [FieldOffset(184)] + public global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12getOpcodeStrEv")] - internal static extern global::System.IntPtr OpcodeStr_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12setOpcodeStrEPKc")] - internal static extern void SetOpcodeStr_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __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 BinaryOperator(native.ToPointer(), skipVTables); + return new AccessSpecifierDecl(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.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new BinaryOperator(native, skipVTables); + return new AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__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 BinaryOperator(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9690,10 +8841,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__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)) @@ -9704,138 +8864,273 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + } - public global::CppSharp.Parser.AST.Expression LHS + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 560)] + public new partial struct __Internal { - 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; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; - 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(8)] + public global::System.IntPtr _namespace; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - public string OpcodeStr - { - get - { - var __ret = __Internal.OpcodeStr_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(56)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(80)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(104)] + public byte isIncomplete; + + [FieldOffset(105)] + public byte isDependent; + + [FieldOffset(106)] + public byte isImplicit; + + [FieldOffset(112)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(120)] + public uint definitionOrder; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(176)] + public global::System.IntPtr originalPtr; + + [FieldOffset(184)] + public global::System.IntPtr comment; + + [FieldOffset(192)] + internal global::Std.__1.Vector.__Internal Namespaces; + + [FieldOffset(216)] + internal global::Std.__1.Vector.__Internal Enums; + + [FieldOffset(240)] + internal global::Std.__1.Vector.__Internal Functions; + + [FieldOffset(264)] + internal global::Std.__1.Vector.__Internal Classes; + + [FieldOffset(288)] + internal global::Std.__1.Vector.__Internal Templates; + + [FieldOffset(312)] + internal global::Std.__1.Vector.__Internal Typedefs; + + [FieldOffset(336)] + internal global::Std.__1.Vector.__Internal TypeAliases; + + [FieldOffset(360)] + internal global::Std.__1.Vector.__Internal Variables; + + [FieldOffset(384)] + internal global::Std.__1.Vector.__Internal Friends; + + [FieldOffset(408)] + internal global::Std.__1.Map.__Internal anonymous; + + [FieldOffset(432)] + public byte isAnonymous; + + [FieldOffset(440)] + internal global::Std.__1.Vector.__Internal Bases; + + [FieldOffset(464)] + internal global::Std.__1.Vector.__Internal Fields; + + [FieldOffset(488)] + internal global::Std.__1.Vector.__Internal Methods; + + [FieldOffset(512)] + internal global::Std.__1.Vector.__Internal Specifiers; + + [FieldOffset(536)] + public byte isPOD; + + [FieldOffset(537)] + public byte isAbstract; + + [FieldOffset(538)] + public byte isUnion; + + [FieldOffset(539)] + public byte isDynamic; + + [FieldOffset(540)] + public byte isPolymorphic; + + [FieldOffset(541)] + public byte hasNonTrivialDefaultConstructor; + + [FieldOffset(542)] + public byte hasNonTrivialCopyConstructor; + + [FieldOffset(543)] + public byte hasNonTrivialDestructor; + + [FieldOffset(544)] + public byte isExternCContext; + + [FieldOffset(545)] + public byte isInjected; + + [FieldOffset(552)] + public global::System.IntPtr layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] + internal static extern global::System.IntPtr GetBases_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] + internal static extern global::System.IntPtr GetFields_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); - set - { - __Internal.SetOpcodeStr_0((__Instance + __PointerAdjustment), value); - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + internal static extern void ClearFields_0(global::System.IntPtr instance); - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] + internal static extern global::System.IntPtr GetMethods_0(global::System.IntPtr instance, uint i); - [FieldOffset(8)] - public global::System.IntPtr decl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] + internal static extern void AddMethods_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(16)] - public global::Std.__1.BasicString.__Internal String; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] + internal static extern void ClearMethods_0(global::System.IntPtr instance); - [FieldOffset(40)] - internal global::Std.__1.Vector.__Internal Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] + internal static extern global::System.IntPtr GetSpecifiers_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] + internal static extern void AddSpecifiers_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] + internal static extern void ClearSpecifiers_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + internal static extern uint GetBasesCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] + internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] + internal static extern uint GetMethodsCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] + internal static extern uint GetSpecifiersCount_0(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.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new CallExpr(native.ToPointer(), skipVTables); + return new Class(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.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new CallExpr(native, skipVTables); + return new Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__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 CallExpr(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9844,10 +9139,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__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)) @@ -9858,7 +9162,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -9866,296 +9170,459 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) { - var __ret = __Internal.GetArguments_0((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; + var __ret = __Internal.GetBases_0((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __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.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.Expression 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_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBases_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearBases() { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.ClearBases_0((__Instance + __PointerAdjustment)); } - public uint ArgumentsCount + public global::CppSharp.Parser.AST.Field GetFields(uint i) { - get - { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } + var __ret = __Internal.GetFields_0((__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 unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public new partial struct __Internal + public void AddFields(global::CppSharp.Parser.AST.Field s) { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(8)] - public global::System.IntPtr decl; + public void ClearFields() + { + __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(16)] - public global::Std.__1.BasicString.__Internal String; + public global::CppSharp.Parser.AST.Method GetMethods(uint i) + { + var __ret = __Internal.GetMethods_0((__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(40)] - internal global::Std.__1.Vector.__Internal Arguments; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + public void ClearMethods() + { + __Internal.ClearMethods_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + { + var __ret = __Internal.GetSpecifiers_0((__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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + public void ClearSpecifiers() + { + __Internal.ClearSpecifiers_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsPolymorphic { - return new CXXConstructExpr(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + public bool HasNonTrivialDefaultConstructor { - return new CXXConstructExpr(native, 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); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + public bool HasNonTrivialCopyConstructor { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + 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 CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool HasNonTrivialDestructor { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - protected CXXConstructExpr(void* native, bool skipVTables = false) - : base((void*) null) + public bool IsExternCContext { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + 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 CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) - : this((void*) null) + public bool IsInjected { - __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_1((__Instance + __PointerAdjustment), __arg0); + 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 override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.ClassLayout Layout { - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + 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 global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public uint BasesCount { - var __ret = __Internal.GetArguments_0((__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; + get + { + var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public uint FieldsCount { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public void ClearArguments() + public uint MethodsCount { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.GetMethodsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public uint ArgumentsCount + public uint SpecifiersCount { get { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecifiersCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class FunctionTemplateSpecialization : IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 224)] + public new partial struct __Internal { [FieldOffset(0)] - public global::System.IntPtr _template; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - internal global::Std.__1.Vector.__Internal Arguments; + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; [FieldOffset(32)] - public global::System.IntPtr specializedFunction; + public global::Std.__1.BasicString.__Internal Name; - [FieldOffset(40)] - public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(56)] + public global::Std.__1.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + [FieldOffset(80)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(104)] + public byte isIncomplete; + + [FieldOffset(105)] + public byte isDependent; + + [FieldOffset(106)] + public byte isImplicit; + + [FieldOffset(112)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(120)] + public uint definitionOrder; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(176)] + public global::System.IntPtr originalPtr; + + [FieldOffset(184)] + public global::System.IntPtr comment; + + [FieldOffset(192)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(200)] + internal global::Std.__1.Vector.__Internal Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + internal static extern void ctor_1(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] + internal static extern void cctor_3(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] + internal static extern global::System.IntPtr GetParameters_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] + internal static extern void AddParameters_0(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="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] + internal static extern void ClearParameters_0(global::System.IntPtr instance); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] + internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __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 FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + return new Template(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.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new FunctionTemplateSpecialization(native, skipVTables); + return new Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor_3(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__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 FunctionTemplateSpecialization(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplateSpecialization() + public Template(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.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public Template() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor_1((__Instance + __PointerAdjustment)); } - public void Dispose() + public Template(global::CppSharp.Parser.AST.Template _0) + : this((void*) null) { - Dispose(disposing: true); + __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_3((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -10163,88 +9630,66 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetParameters_0((__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 AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + 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.AddArguments_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddParameters_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearParameters() { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FunctionTemplate Template + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) { - 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; - } + return new global::CppSharp.Parser.AST.Template(kind); } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { 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); + 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.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; + ((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ArgumentsCount + public uint ParametersCount { get { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 192)] + [StructLayout(LayoutKind.Explicit, Size = 224)] public new partial struct __Internal { [FieldOffset(0)] @@ -10301,47 +9746,53 @@ namespace CppSharp [FieldOffset(184)] public global::System.IntPtr comment; + [FieldOffset(192)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(200)] + internal global::Std.__1.Vector.__Internal Parameters; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __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 AccessSpecifierDecl(native.ToPointer(), skipVTables); + return new TypeAliasTemplate(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.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new AccessSpecifierDecl(native, skipVTables); + return new TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__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 AccessSpecifierDecl(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10350,19 +9801,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AccessSpecifierDecl() + public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10382,9 +9833,9 @@ namespace CppSharp } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 400)] + [StructLayout(LayoutKind.Explicit, Size = 208)] public new partial struct __Internal { [FieldOffset(0)] @@ -10411,164 +9862,86 @@ namespace CppSharp [FieldOffset(56)] public global::Std.__1.BasicString.__Internal USR; - [FieldOffset(80)] - public global::Std.__1.BasicString.__Internal DebugText; - - [FieldOffset(104)] - public byte isIncomplete; - - [FieldOffset(105)] - public byte isDependent; - - [FieldOffset(106)] - public byte isImplicit; - - [FieldOffset(112)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(120)] - public uint definitionOrder; - - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; - - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Redeclarations; - - [FieldOffset(176)] - public global::System.IntPtr originalPtr; - - [FieldOffset(184)] - public global::System.IntPtr comment; - - [FieldOffset(192)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(208)] - public byte isReturnIndirect; - - [FieldOffset(209)] - public byte hasThisReturn; - - [FieldOffset(210)] - public byte isConstExpr; - - [FieldOffset(211)] - public byte isVariadic; - - [FieldOffset(212)] - public byte isInline; - - [FieldOffset(213)] - public byte isPure; - - [FieldOffset(214)] - public byte isDeleted; - - [FieldOffset(216)] - public global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(220)] - public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(224)] - public global::Std.__1.BasicString.__Internal Mangled; - - [FieldOffset(248)] - public global::Std.__1.BasicString.__Internal Signature; - - [FieldOffset(272)] - public global::Std.__1.BasicString.__Internal Body; - - [FieldOffset(296)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(304)] - internal global::Std.__1.Vector.__Internal Parameters; - - [FieldOffset(328)] - public global::System.IntPtr specializationInfo; - - [FieldOffset(336)] - public global::System.IntPtr instantiatedFrom; - - [FieldOffset(344)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(80)] + public global::Std.__1.BasicString.__Internal DebugText; - [FieldOffset(360)] - public byte isVirtual; + [FieldOffset(104)] + public byte isIncomplete; - [FieldOffset(361)] - public byte isStatic; + [FieldOffset(105)] + public byte isDependent; - [FieldOffset(362)] - public byte isConst; + [FieldOffset(106)] + public byte isImplicit; - [FieldOffset(363)] - public byte isExplicit; + [FieldOffset(112)] + public global::System.IntPtr completeDeclaration; - [FieldOffset(364)] - public byte isOverride; + [FieldOffset(120)] + public uint definitionOrder; - [FieldOffset(368)] - public global::CppSharp.Parser.AST.CXXMethodKind methodKind; + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; - [FieldOffset(372)] - public byte isDefaultConstructor; + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Redeclarations; - [FieldOffset(373)] - public byte isCopyConstructor; + [FieldOffset(176)] + public global::System.IntPtr originalPtr; - [FieldOffset(374)] - public byte isMoveConstructor; + [FieldOffset(184)] + public global::System.IntPtr comment; - [FieldOffset(376)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + [FieldOffset(192)] + public uint depth; - [FieldOffset(392)] - public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + [FieldOffset(196)] + public uint index; + + [FieldOffset(200)] + public byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] internal static extern void dtor_0(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.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Method(native.ToPointer(), skipVTables); + return new TemplateParameter(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.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new Method(native, skipVTables); + return new TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__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 Method(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10577,19 +9950,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public Method(global::CppSharp.Parser.AST.Method _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10608,305 +9981,411 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsVirtual + 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.Method.__Internal*) __Instance)->isVirtual != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth = value; } } - public bool IsStatic + public uint Index { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index = value; } } - public bool IsConst + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); } } + } - public bool IsExplicit + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit = (byte) (value ? 1 : 0); - } + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(56)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(80)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(104)] + public byte isIncomplete; + + [FieldOffset(105)] + public byte isDependent; + + [FieldOffset(106)] + public byte isImplicit; + + [FieldOffset(112)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(120)] + public uint definitionOrder; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(176)] + public global::System.IntPtr originalPtr; + + [FieldOffset(184)] + public global::System.IntPtr comment; + + [FieldOffset(192)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(200)] + internal global::Std.__1.Vector.__Internal Parameters; + + [FieldOffset(224)] + public byte isParameterPack; + + [FieldOffset(225)] + public byte isPackExpansion; + + [FieldOffset(226)] + public byte isExpandedParameterPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); } - public bool IsOverride + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride != 0; - } + return new TemplateTemplateParameter(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride = (byte) (value ? 1 : 0); - } + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + { + return new TemplateTemplateParameter(native, skipVTables); } - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind = value; - } + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TemplateTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TemplateTemplateParameter() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public bool IsDefaultConstructor + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__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_1((__Instance + __PointerAdjustment), __arg0); } - public bool IsCopyConstructor + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor = (byte) (value ? 1 : 0); - } + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public bool IsMoveConstructor + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public bool IsPackExpansion { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType); + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } 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.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier = value; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class BaseClassSpecifier : IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 224)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - public byte isVirtual; + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr type; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public int offset; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(56)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(80)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(104)] + public byte isIncomplete; + + [FieldOffset(105)] + public byte isDependent; + + [FieldOffset(106)] + public byte isImplicit; + + [FieldOffset(112)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(120)] + public uint definitionOrder; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(176)] + public global::System.IntPtr originalPtr; + + [FieldOffset(184)] + public global::System.IntPtr comment; + + [FieldOffset(192)] + public uint depth; + + [FieldOffset(196)] + public uint index; + + [FieldOffset(200)] + public byte isParameterPack; + + [FieldOffset(208)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] internal static extern void cctor_1(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="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] + internal static extern void dtor_0(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.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new BaseClassSpecifier(native.ToPointer(), skipVTables); + return new TypeTemplateParameter(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.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new BaseClassSpecifier(native, skipVTables); + return new TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__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.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__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 BaseClassSpecifier(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BaseClassSpecifier() + public TypeTemplateParameter() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__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_1((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - 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 - { - 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; - } - } - - public int Offset + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument); } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset = value; + ((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 Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 224)] public new partial struct __Internal @@ -10966,58 +10445,67 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(192)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public uint depth; + + [FieldOffset(196)] + public uint index; + + [FieldOffset(200)] + public byte isParameterPack; [FieldOffset(208)] - public global::System.IntPtr _class; + public global::System.IntPtr defaultArgument; [FieldOffset(216)] - public byte isBitField; + public uint position; [FieldOffset(220)] - public uint bitWidth; + public byte isPackExpansion; + + [FieldOffset(221)] + public byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] internal static extern void dtor_0(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.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Field(native.ToPointer(), skipVTables); + return new NonTypeTemplateParameter(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.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new Field(native, skipVTables); + return new NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__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 Field(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11026,19 +10514,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Field(global::CppSharp.Parser.AST.Field _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11057,67 +10545,67 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Expression DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType); + 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.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.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Class Class + public uint Position { 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.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position = value; } } - public bool IsBitField + public bool IsPackExpansion { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint BitWidth + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 208)] + [StructLayout(LayoutKind.Explicit, Size = 248)] public new partial struct __Internal { [FieldOffset(0)] @@ -11175,55 +10663,75 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(192)] - public uint depth; - - [FieldOffset(196)] - public uint index; + public global::System.IntPtr TemplatedDecl; [FieldOffset(200)] - public byte isParameterPack; + internal global::Std.__1.Vector.__Internal Parameters; + + [FieldOffset(224)] + internal global::Std.__1.Vector.__Internal Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] + internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount_0(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.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplate(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.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) { - return new TemplateParameter(native, skipVTables); + return new ClassTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11232,19 +10740,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public ClassTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) + public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11263,54 +10771,43 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + var __ret = __Internal.GetSpecializations_0((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public uint Depth + public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth = value; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public void ClearSpecializations() { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index = value; - } + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); } - public bool IsParameterPack + public uint SpecializationsCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 600)] public new partial struct __Internal { [FieldOffset(0)] @@ -11319,110 +10816,202 @@ namespace CppSharp [FieldOffset(4)] public global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.__1.BasicString.__Internal Name; + + [FieldOffset(56)] + public global::Std.__1.BasicString.__Internal USR; + + [FieldOffset(80)] + public global::Std.__1.BasicString.__Internal DebugText; + + [FieldOffset(104)] + public byte isIncomplete; + + [FieldOffset(105)] + public byte isDependent; + + [FieldOffset(106)] + public byte isImplicit; + + [FieldOffset(112)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(120)] + public uint definitionOrder; + + [FieldOffset(128)] + internal global::Std.__1.Vector.__Internal PreprocessedEntities; + + [FieldOffset(152)] + internal global::Std.__1.Vector.__Internal Redeclarations; + + [FieldOffset(176)] + public global::System.IntPtr originalPtr; + + [FieldOffset(184)] + public global::System.IntPtr comment; + + [FieldOffset(192)] + internal global::Std.__1.Vector.__Internal Namespaces; + + [FieldOffset(216)] + internal global::Std.__1.Vector.__Internal Enums; + + [FieldOffset(240)] + internal global::Std.__1.Vector.__Internal Functions; + + [FieldOffset(264)] + internal global::Std.__1.Vector.__Internal Classes; + + [FieldOffset(288)] + internal global::Std.__1.Vector.__Internal Templates; + + [FieldOffset(312)] + internal global::Std.__1.Vector.__Internal Typedefs; + + [FieldOffset(336)] + internal global::Std.__1.Vector.__Internal TypeAliases; + + [FieldOffset(360)] + internal global::Std.__1.Vector.__Internal Variables; - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(384)] + internal global::Std.__1.Vector.__Internal Friends; - [FieldOffset(20)] - public int lineNumberStart; + [FieldOffset(408)] + internal global::Std.__1.Map.__Internal anonymous; - [FieldOffset(24)] - public int lineNumberEnd; + [FieldOffset(432)] + public byte isAnonymous; - [FieldOffset(32)] - public global::Std.__1.BasicString.__Internal Name; + [FieldOffset(440)] + internal global::Std.__1.Vector.__Internal Bases; - [FieldOffset(56)] - public global::Std.__1.BasicString.__Internal USR; + [FieldOffset(464)] + internal global::Std.__1.Vector.__Internal Fields; - [FieldOffset(80)] - public global::Std.__1.BasicString.__Internal DebugText; + [FieldOffset(488)] + internal global::Std.__1.Vector.__Internal Methods; - [FieldOffset(104)] - public byte isIncomplete; + [FieldOffset(512)] + internal global::Std.__1.Vector.__Internal Specifiers; - [FieldOffset(105)] - public byte isDependent; + [FieldOffset(536)] + public byte isPOD; - [FieldOffset(106)] - public byte isImplicit; + [FieldOffset(537)] + public byte isAbstract; - [FieldOffset(112)] - public global::System.IntPtr completeDeclaration; + [FieldOffset(538)] + public byte isUnion; - [FieldOffset(120)] - public uint definitionOrder; + [FieldOffset(539)] + public byte isDynamic; - [FieldOffset(128)] - internal global::Std.__1.Vector.__Internal PreprocessedEntities; + [FieldOffset(540)] + public byte isPolymorphic; - [FieldOffset(152)] - internal global::Std.__1.Vector.__Internal Redeclarations; + [FieldOffset(541)] + public byte hasNonTrivialDefaultConstructor; - [FieldOffset(176)] - public global::System.IntPtr originalPtr; + [FieldOffset(542)] + public byte hasNonTrivialCopyConstructor; - [FieldOffset(184)] - public global::System.IntPtr comment; + [FieldOffset(543)] + public byte hasNonTrivialDestructor; - [FieldOffset(192)] - public global::System.IntPtr TemplatedDecl; + [FieldOffset(544)] + public byte isExternCContext; - [FieldOffset(200)] - internal global::Std.__1.Vector.__Internal Parameters; + [FieldOffset(545)] + public byte isInjected; - [FieldOffset(224)] - public byte isParameterPack; + [FieldOffset(552)] + public global::System.IntPtr layout; - [FieldOffset(225)] - public byte isPackExpansion; + [FieldOffset(560)] + public global::System.IntPtr templatedDecl; - [FieldOffset(226)] - public byte isExpandedParameterPack; + [FieldOffset(568)] + internal global::Std.__1.Vector.__Internal Arguments; + + [FieldOffset(592)] + public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(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.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplateSpecialization(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.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new TemplateTemplateParameter(native, skipVTables); + return new ClassTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11431,19 +11020,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11462,49 +11051,70 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsParameterPack + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + global::CppSharp.Parser.AST.ClassTemplate __result0; + if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsPackExpansion + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; } } - public bool IsExpandedParameterPack + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 224)] + [StructLayout(LayoutKind.Explicit, Size = 600)] public new partial struct __Internal { [FieldOffset(0)] @@ -11561,68 +11171,134 @@ namespace CppSharp [FieldOffset(184)] public global::System.IntPtr comment; - [FieldOffset(192)] - public uint depth; + [FieldOffset(192)] + internal global::Std.__1.Vector.__Internal Namespaces; + + [FieldOffset(216)] + internal global::Std.__1.Vector.__Internal Enums; + + [FieldOffset(240)] + internal global::Std.__1.Vector.__Internal Functions; + + [FieldOffset(264)] + internal global::Std.__1.Vector.__Internal Classes; + + [FieldOffset(288)] + internal global::Std.__1.Vector.__Internal Templates; + + [FieldOffset(312)] + internal global::Std.__1.Vector.__Internal Typedefs; + + [FieldOffset(336)] + internal global::Std.__1.Vector.__Internal TypeAliases; + + [FieldOffset(360)] + internal global::Std.__1.Vector.__Internal Variables; + + [FieldOffset(384)] + internal global::Std.__1.Vector.__Internal Friends; + + [FieldOffset(408)] + internal global::Std.__1.Map.__Internal anonymous; + + [FieldOffset(432)] + public byte isAnonymous; + + [FieldOffset(440)] + internal global::Std.__1.Vector.__Internal Bases; + + [FieldOffset(464)] + internal global::Std.__1.Vector.__Internal Fields; + + [FieldOffset(488)] + internal global::Std.__1.Vector.__Internal Methods; + + [FieldOffset(512)] + internal global::Std.__1.Vector.__Internal Specifiers; + + [FieldOffset(536)] + public byte isPOD; + + [FieldOffset(537)] + public byte isAbstract; + + [FieldOffset(538)] + public byte isUnion; + + [FieldOffset(539)] + public byte isDynamic; + + [FieldOffset(540)] + public byte isPolymorphic; + + [FieldOffset(541)] + public byte hasNonTrivialDefaultConstructor; + + [FieldOffset(542)] + public byte hasNonTrivialCopyConstructor; + + [FieldOffset(543)] + public byte hasNonTrivialDestructor; - [FieldOffset(196)] - public uint index; + [FieldOffset(544)] + public byte isExternCContext; - [FieldOffset(200)] - public byte isParameterPack; + [FieldOffset(545)] + public byte isInjected; - [FieldOffset(208)] - public global::System.IntPtr defaultArgument; + [FieldOffset(552)] + public global::System.IntPtr layout; - [FieldOffset(216)] - public uint position; + [FieldOffset(560)] + public global::System.IntPtr templatedDecl; - [FieldOffset(220)] - public byte isPackExpansion; + [FieldOffset(568)] + internal global::Std.__1.Vector.__Internal Arguments; - [FieldOffset(221)] - public byte isExpandedParameterPack; + [FieldOffset(592)] + public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] internal static extern void dtor_0(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.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplatePartialSpecialization(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.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new NonTypeTemplateParameter(native, skipVTables); + return new ClassTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11631,19 +11307,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11661,68 +11337,11 @@ namespace CppSharp if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - - 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 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); - } - } } - public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 600)] + [StructLayout(LayoutKind.Explicit, Size = 248)] public new partial struct __Internal { [FieldOffset(0)] @@ -11780,174 +11399,251 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(192)] - internal global::Std.__1.Vector.__Internal Namespaces; - - [FieldOffset(216)] - internal global::Std.__1.Vector.__Internal Enums; - - [FieldOffset(240)] - internal global::Std.__1.Vector.__Internal Functions; - - [FieldOffset(264)] - internal global::Std.__1.Vector.__Internal Classes; - - [FieldOffset(288)] - internal global::Std.__1.Vector.__Internal Templates; + public global::System.IntPtr TemplatedDecl; - [FieldOffset(312)] - internal global::Std.__1.Vector.__Internal Typedefs; + [FieldOffset(200)] + internal global::Std.__1.Vector.__Internal Parameters; - [FieldOffset(336)] - internal global::Std.__1.Vector.__Internal TypeAliases; + [FieldOffset(224)] + internal global::Std.__1.Vector.__Internal Specializations; - [FieldOffset(360)] - internal global::Std.__1.Vector.__Internal Variables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(384)] - internal global::Std.__1.Vector.__Internal Friends; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(408)] - internal global::Std.__1.Map.__Internal anonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(432)] - public byte isAnonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); - [FieldOffset(440)] - internal global::Std.__1.Vector.__Internal Bases; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] + internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(464)] - internal global::Std.__1.Vector.__Internal Fields; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); - [FieldOffset(488)] - internal global::Std.__1.Vector.__Internal Methods; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); + } - [FieldOffset(512)] - internal global::Std.__1.Vector.__Internal Specifiers; + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new FunctionTemplate(native.ToPointer(), skipVTables); + } - [FieldOffset(536)] - public byte isPOD; + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + { + return new FunctionTemplate(native, skipVTables); + } - [FieldOffset(537)] - public byte isAbstract; + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(538)] - public byte isUnion; + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(539)] - public byte isDynamic; + protected FunctionTemplate(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(540)] - public byte isPolymorphic; + public FunctionTemplate() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(541)] - public byte hasNonTrivialDefaultConstructor; + 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_1((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(542)] - public byte hasNonTrivialCopyConstructor; + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - [FieldOffset(543)] - public byte hasNonTrivialDestructor; + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations_0((__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(544)] - public byte isExternCContext; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(545)] - public byte isInjected; + public void ClearSpecializations() + { + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(552)] - public global::System.IntPtr layout; + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(560)] - public global::System.IntPtr templatedDecl; + public unsafe partial class FunctionTemplateSpecialization : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::System.IntPtr _template; - [FieldOffset(568)] + [FieldOffset(8)] internal global::Std.__1.Vector.__Internal Arguments; - [FieldOffset(592)] + [FieldOffset(32)] + public global::System.IntPtr specializedFunction; + + [FieldOffset(40)] public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __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 ClassTemplateSpecialization(native.ToPointer(), skipVTables); + return new FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__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 ClassTemplateSpecialization(native, skipVTables); + return new FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__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 ClassTemplateSpecialization(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 ClassTemplateSpecialization() - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11956,9 +11652,14 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -11986,21 +11687,39 @@ namespace CppSharp __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + public global::CppSharp.Parser.AST.FunctionTemplate Template { get { - global::CppSharp.Parser.AST.ClassTemplate __result0; - if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + 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.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl = 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; } } @@ -12008,12 +11727,12 @@ namespace CppSharp { get { - return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; } } @@ -12027,9 +11746,9 @@ namespace CppSharp } } - public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 600)] + [StructLayout(LayoutKind.Explicit, Size = 248)] public new partial struct __Internal { [FieldOffset(0)] @@ -12087,133 +11806,75 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(192)] - internal global::Std.__1.Vector.__Internal Namespaces; - - [FieldOffset(216)] - internal global::Std.__1.Vector.__Internal Enums; - - [FieldOffset(240)] - internal global::Std.__1.Vector.__Internal Functions; - - [FieldOffset(264)] - internal global::Std.__1.Vector.__Internal Classes; - - [FieldOffset(288)] - internal global::Std.__1.Vector.__Internal Templates; - - [FieldOffset(312)] - internal global::Std.__1.Vector.__Internal Typedefs; - - [FieldOffset(336)] - internal global::Std.__1.Vector.__Internal TypeAliases; - - [FieldOffset(360)] - internal global::Std.__1.Vector.__Internal Variables; - - [FieldOffset(384)] - internal global::Std.__1.Vector.__Internal Friends; - - [FieldOffset(408)] - internal global::Std.__1.Map.__Internal anonymous; - - [FieldOffset(432)] - public byte isAnonymous; - - [FieldOffset(440)] - internal global::Std.__1.Vector.__Internal Bases; - - [FieldOffset(464)] - internal global::Std.__1.Vector.__Internal Fields; - - [FieldOffset(488)] - internal global::Std.__1.Vector.__Internal Methods; - - [FieldOffset(512)] - internal global::Std.__1.Vector.__Internal Specifiers; - - [FieldOffset(536)] - public byte isPOD; - - [FieldOffset(537)] - public byte isAbstract; - - [FieldOffset(538)] - public byte isUnion; - - [FieldOffset(539)] - public byte isDynamic; - - [FieldOffset(540)] - public byte isPolymorphic; - - [FieldOffset(541)] - public byte hasNonTrivialDefaultConstructor; - - [FieldOffset(542)] - public byte hasNonTrivialCopyConstructor; - - [FieldOffset(543)] - public byte hasNonTrivialDestructor; + public global::System.IntPtr TemplatedDecl; - [FieldOffset(544)] - public byte isExternCContext; + [FieldOffset(200)] + internal global::Std.__1.Vector.__Internal Parameters; - [FieldOffset(545)] - public byte isInjected; + [FieldOffset(224)] + internal global::Std.__1.Vector.__Internal Specializations; - [FieldOffset(552)] - public global::System.IntPtr layout; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(560)] - public global::System.IntPtr templatedDecl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(568)] - internal global::Std.__1.Vector.__Internal Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(592)] - public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] + internal static extern void AddSpecializations_0(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_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount_0(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.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new VarTemplate(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.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new ClassTemplatePartialSpecialization(native, skipVTables); + return new VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__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 ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12222,19 +11883,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12252,6 +11913,39 @@ namespace CppSharp if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + } + + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } } public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable @@ -12644,9 +12338,9 @@ namespace CppSharp } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 248)] + [StructLayout(LayoutKind.Explicit, Size = 440)] public new partial struct __Internal { [FieldOffset(0)] @@ -12704,144 +12398,264 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(192)] - public global::System.IntPtr TemplatedDecl; + internal global::Std.__1.Vector.__Internal Namespaces; - [FieldOffset(200)] - internal global::Std.__1.Vector.__Internal Parameters; + [FieldOffset(216)] + internal global::Std.__1.Vector.__Internal Enums; - [FieldOffset(224)] - internal global::Std.__1.Vector.__Internal Specializations; + [FieldOffset(240)] + internal global::Std.__1.Vector.__Internal Functions; + + [FieldOffset(264)] + internal global::Std.__1.Vector.__Internal Classes; + + [FieldOffset(288)] + internal global::Std.__1.Vector.__Internal Templates; + + [FieldOffset(312)] + internal global::Std.__1.Vector.__Internal Typedefs; + + [FieldOffset(336)] + internal global::Std.__1.Vector.__Internal TypeAliases; + + [FieldOffset(360)] + internal global::Std.__1.Vector.__Internal Variables; + + [FieldOffset(384)] + internal global::Std.__1.Vector.__Internal Friends; + + [FieldOffset(408)] + internal global::Std.__1.Map.__Internal anonymous; + + [FieldOffset(432)] + public byte isAnonymous; + + [FieldOffset(433)] + public byte isInline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Namespace(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] - internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + { + return new Namespace(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Namespace(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Namespace() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Namespace(global::CppSharp.Parser.AST.Namespace _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class PreprocessedEntity : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] + public global::System.IntPtr originalPtr; + + [FieldOffset(16)] + public global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.VarTemplate __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.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new VarTemplate(native.ToPointer(), skipVTables); + return new PreprocessedEntity(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.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) { - return new VarTemplate(native, skipVTables); + return new PreprocessedEntity(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; return ret.ToPointer(); } - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected PreprocessedEntity(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VarTemplate() - : this((void*) null) + public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) - : this((void*) null) + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__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_1((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { - var __ret = __Internal.GetSpecializations_0((__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; - } + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; + } - 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_0((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation = value; + } } - public void ClearSpecializations() + public global::System.IntPtr OriginalPtr { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; + } + + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.DeclarationKind Kind { get { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind = value; } } } @@ -16422,6 +16236,192 @@ namespace CppSharp } } } + + public unsafe partial class RawComment : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.RawCommentKind kind; + + [FieldOffset(8)] + public global::Std.__1.BasicString.__Internal Text; + + [FieldOffset(32)] + public global::Std.__1.BasicString.__Internal BriefText; + + [FieldOffset(56)] + public global::System.IntPtr fullCommentBlock; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7getTextEv")] + internal static extern global::System.IntPtr Text_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc")] + internal static extern void SetText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv")] + internal static extern global::System.IntPtr BriefText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc")] + internal static extern void SetBriefText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } + + 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 RawComment(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + { + return new RawComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected RawComment(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public RawComment() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public RawComment(global::CppSharp.Parser.AST.RawComment _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.RawComment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + 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 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; + } + } + + public string Text + { + get + { + var __ret = __Internal.Text_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetText_0((__Instance + __PointerAdjustment), value); + } + } + + public string BriefText + { + get + { + var __ret = __Internal.BriefText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBriefText_0((__Instance + __PointerAdjustment), value); + } + } + } } } } 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 a5d1781f..1c6f77f0 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 @@ -669,525 +669,569 @@ namespace CppSharp } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 216)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.Cxx11.BasicString.__Internal Name; - - [FieldOffset(64)] - public global::Std.Cxx11.BasicString.__Internal USR; - - [FieldOffset(96)] - public global::Std.Cxx11.BasicString.__Internal DebugText; - - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] public byte isDependent; - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(200)] - public global::System.IntPtr originalPtr; - - [FieldOffset(208)] - public global::System.IntPtr comment; + [FieldOffset(8)] + public global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + internal static extern void cctor_2(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_0(global::System.IntPtr instance); + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TagType(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] - internal static extern global::System.IntPtr GetPreprocessedEntities_0(global::System.IntPtr instance, uint i); + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + { + return new TagType(native, skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] - internal static extern void AddPreprocessedEntities_0(global::System.IntPtr instance, global::System.IntPtr s); + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] - internal static extern void ClearPreprocessedEntities_0(global::System.IntPtr instance); + private TagType(global::CppSharp.Parser.AST.TagType.__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="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] - internal static extern global::System.IntPtr GetRedeclarations_0(global::System.IntPtr instance, uint i); + protected TagType(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="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] - internal static extern void AddRedeclarations_0(global::System.IntPtr instance, global::System.IntPtr s); + public TagType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] - internal static extern void ClearRedeclarations_0(global::System.IntPtr instance); + 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_2((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7getNameEv")] - internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc")] - internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6getUSREv")] - internal static extern global::System.IntPtr USR_0(global::System.IntPtr instance); + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6setUSREPKc")] - internal static extern void SetUSR_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(4)] + public byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv")] - internal static extern global::System.IntPtr DebugText_0(global::System.IntPtr instance); + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc")] - internal static extern void SetDebugText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(24)] + public global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + + [FieldOffset(32)] + public long size; + + [FieldOffset(40)] + public long elementSize; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] - internal static extern uint GetPreprocessedEntitiesCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] - internal static extern uint GetRedeclarationsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + internal static extern void cctor_2(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; + 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 Declaration(native.ToPointer(), skipVTables); + return new 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 Declaration(native, skipVTables); + return new 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_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(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_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__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)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - Dispose(disposing: true); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 virtual void Dispose(bool disposing) + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType = value; + } } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + public long Size { - var __ret = __Internal.GetPreprocessedEntities_0((__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)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size = value; + } } - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + public long ElementSize { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize = value; + } } + } - public void ClearPreprocessedEntities() + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { - __Internal.ClearPreprocessedEntities_0((__Instance + __PointerAdjustment)); + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + public byte isDependent; + + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(24)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(28)] + public global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(32)] + internal global::Std.Vector.__Internal Parameters; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] + internal static extern global::System.IntPtr GetParameters_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] + internal static extern uint GetParametersCount_0(global::System.IntPtr instance); } - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetRedeclarations_0((__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; + return new FunctionType(native.ToPointer(), skipVTables); } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__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.AddRedeclarations_0((__Instance + __PointerAdjustment), __arg0); + return new FunctionType(native, skipVTables); } - public void ClearRedeclarations() + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - __Internal.ClearRedeclarations_0((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - return new global::CppSharp.Parser.AST.Declaration(kind); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.DeclarationKind Kind + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind = value; - } + public FunctionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; - } + __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_1((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access = value; - } + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - 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; - } + var __ret = __Internal.GetParameters_0((__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; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.SourceLocation Location + public void ClearParameters() + { + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + } + + 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(((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 bool IsIncomplete + public uint ParametersCount { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete = (byte) (value ? 1 : 0); + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; } } + } - public bool IsDependent + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent = (byte) (value ? 1 : 0); - } - } + [FieldOffset(4)] + public byte isDependent; - public bool IsImplicit - { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; - } + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit = (byte) (value ? 1 : 0); - } - } + [FieldOffset(24)] + public global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration - { - 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; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - public uint DefinitionOrder + public enum TypeModifier { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder = value; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 } - public global::System.IntPtr OriginalPtr + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; - } + return new PointerType(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.RawComment Comment + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - 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; - } + return new PointerType(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public string Name + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - __Internal.SetName_0((__Instance + __PointerAdjustment), value); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public string USR + public PointerType() + : this((void*) null) { - get - { - var __ret = __Internal.USR_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - set - { - __Internal.SetUSR_0((__Instance + __PointerAdjustment), value); - } + 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_2((__Instance + __PointerAdjustment), __arg0); } - public string DebugText + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - var __ret = __Internal.DebugText_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee); } set { - __Internal.SetDebugText_0((__Instance + __PointerAdjustment), value); + ((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 uint PreprocessedEntitiesCount + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - var __ret = __Internal.GetPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } - } - public uint RedeclarationsCount - { - get + set { - var __ret = __Internal.GetRedeclarationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier = value; } } } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { [FieldOffset(0)] @@ -1197,44 +1241,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr declaration; + public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TagType(native.ToPointer(), skipVTables); + return new MemberPointerType(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.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) { - return new TagType(native, skipVTables); + return new MemberPointerType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TagType(void* native, bool skipVTables = false) + protected MemberPointerType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1243,19 +1287,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TagType() + public MemberPointerType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TagType(global::CppSharp.Parser.AST.TagType _0) + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1264,28 +1308,23 @@ namespace CppSharp __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.QualifiedType Pointee { 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(((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee); } set { - ((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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 ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] @@ -1295,61 +1334,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(24)] - public global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(32)] - public long size; - - [FieldOffset(40)] - public long elementSize; + public global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - public enum ArraySize + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + return new TypedefType(native.ToPointer(), skipVTables); } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new ArrayType(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.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) { - return new ArrayType(native, skipVTables); + return new TypedefType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ArrayType(void* native, bool skipVTables = false) + protected TypedefType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1358,19 +1380,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ArrayType() + public TypedefType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1379,174 +1401,78 @@ namespace CppSharp __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size = value; - } - } - - public long ElementSize + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + 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.ArrayType.__Internal*) __Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 248)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; + public global::CppSharp.Parser.AST.QualifiedType.__Internal modified; [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.Cxx11.BasicString.__Internal Name; - - [FieldOffset(64)] - public global::Std.Cxx11.BasicString.__Internal USR; - - [FieldOffset(96)] - public global::Std.Cxx11.BasicString.__Internal DebugText; - - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] - public byte isDependent; - - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(200)] - public global::System.IntPtr originalPtr; - - [FieldOffset(208)] - public global::System.IntPtr comment; - - [FieldOffset(216)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(232)] - public byte isIndirect; - - [FieldOffset(233)] - public byte hasDefaultValue; - - [FieldOffset(236)] - public uint index; - - [FieldOffset(240)] - public global::System.IntPtr defaultArgument; + public global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Parameter(native.ToPointer(), skipVTables); + return new AttributedType(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.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) { - return new Parameter(native, skipVTables); + return new AttributedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Parameter(void* native, bool skipVTables = false) + protected AttributedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1555,109 +1481,55 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Parameter() + public AttributedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Parameter(global::CppSharp.Parser.AST.Parameter _0) + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue = (byte) (value ? 1 : 0); - } + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public global::CppSharp.Parser.AST.QualifiedType Modified { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified); } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index = value; + ((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; } } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public global::CppSharp.Parser.AST.QualifiedType Equivalent { 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; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent); } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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; } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal @@ -1669,78 +1541,50 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + public global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; [FieldOffset(24)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; + public global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [FieldOffset(28)] - public global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; - - [FieldOffset(32)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(40)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] - internal static extern global::System.IntPtr GetParameters_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] - internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.FunctionType __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 FunctionType(native.ToPointer(), skipVTables); + return new DecayedType(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.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new FunctionType(native, skipVTables); + return new DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__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 FunctionType(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1749,423 +1593,314 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionType() + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.QualifiedType Decayed { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed); } 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.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.CallingConvention CallingConvention + public global::CppSharp.Parser.AST.QualifiedType Original { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original); } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention = value; + ((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.ExceptionSpecType ExceptionSpecType + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee); } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType = value; - } - } - - public uint ParametersCount - { - get - { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); - return __ret; + ((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 unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateArgument : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + public global::CppSharp.Parser.AST.QualifiedType.__Internal type; [FieldOffset(24)] - public global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + public global::System.IntPtr declaration; + + [FieldOffset(32)] + public long integral; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - public enum TypeModifier + public enum ArgumentKind { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - internal static new global::CppSharp.Parser.AST.PointerType __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.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new PointerType(native.ToPointer(), skipVTables); + return new TemplateArgument(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.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - return new PointerType(native, skipVTables); + return new TemplateArgument(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; return ret.ToPointer(); } - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PointerType(void* native, bool skipVTables = false) - : base((void*) null) + protected TemplateArgument(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PointerType() - : this((void*) null) + public TemplateArgument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public PointerType(global::CppSharp.Parser.AST.PointerType _0) - : this((void*) null) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__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_2((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee); + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->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; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind = value; } } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier + public global::CppSharp.Parser.AST.QualifiedType Type { get { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type); } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier = value; + ((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 unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Declaration Declaration { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] - internal static extern void cctor_2(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 MemberPointerType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) - { - return new 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_2(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_0((__Instance + __PointerAdjustment)); - } - - 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_2((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public long Integral { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee); + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } 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.TemplateArgument.__Internal*) __Instance)->integral = value; } } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; + internal global::Std.Vector.__Internal Arguments; [FieldOffset(32)] - public global::Std.Cxx11.BasicString.__Internal Name; - - [FieldOffset(64)] - public global::Std.Cxx11.BasicString.__Internal USR; - - [FieldOffset(96)] - public global::Std.Cxx11.BasicString.__Internal DebugText; - - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] - public byte isDependent; - - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; + public global::System.IntPtr _template; - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; + [FieldOffset(40)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(208)] - public global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(216)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypedefNameDecl(native.ToPointer(), skipVTables); + return new TemplateSpecializationType(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.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new TypedefNameDecl(native, skipVTables); + return new TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__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 TypedefNameDecl(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2174,19 +1909,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2197,7 +1932,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -2205,28 +1940,70 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public global::CppSharp.Parser.AST.QualifiedType 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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType); + 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.TypedefNameDecl.__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.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(((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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] @@ -2236,44 +2013,72 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr declaration; + internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(32)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new TypedefType(native.ToPointer(), skipVTables); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypedefType(native, skipVTables); + return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__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.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return new 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_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__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 TypedefType(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2282,49 +2087,83 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefType() + public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared { 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.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -2334,47 +2173,58 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + public global::System.IntPtr parameter; + + [FieldOffset(16)] + public uint depth; + + [FieldOffset(20)] + public uint index; [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + public byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + internal static extern void dtor_0(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.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new AttributedType(native.ToPointer(), skipVTables); + return new TemplateParameterType(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.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new AttributedType(native, skipVTables); + return new TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__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 AttributedType(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2383,57 +2233,98 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified); + 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.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.TemplateParameterType.__Internal*) __Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public uint Depth { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent); + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; } 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.TemplateParameterType.__Internal*) __Instance)->depth = value; + } + } + + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index = value; + } + } + + public bool IsParameterPack + { + get + { + 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 DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -2443,50 +2334,47 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + public global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal original; - - [FieldOffset(40)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + public global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DecayedType __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 DecayedType(native.ToPointer(), skipVTables); + return new TemplateParameterSubstitutionType(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.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new DecayedType(native, skipVTables); + return new TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__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 DecayedType(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2495,19 +2383,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2516,343 +2404,375 @@ namespace CppSharp __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed + public global::CppSharp.Parser.AST.QualifiedType Replacement { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement); } 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; + ((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.QualifiedType Original - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee); + 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.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.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TemplateArgument : IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal type; + public global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; [FieldOffset(24)] - public global::System.IntPtr declaration; - - [FieldOffset(32)] - public long integral; + public global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] - internal static extern void cctor_1(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 + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] + internal static extern void cctor_2(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.TemplateArgument __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 TemplateArgument(native.ToPointer(), skipVTables); + return new InjectedClassNameType(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.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new TemplateArgument(native, skipVTables); + return new InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__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.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__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 TemplateArgument(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public InjectedClassNameType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__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) - { - global::CppSharp.Parser.AST.TemplateArgument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__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_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType); } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind = value; + ((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 global::CppSharp.Parser.AST.QualifiedType Type + public global::CppSharp.Parser.AST.Class Class { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type); + 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.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.InjectedClassNameType.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } + } - public global::CppSharp.Parser.AST.Declaration Declaration + public unsafe partial class DependentNameType : 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.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; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [FieldOffset(4)] + public byte isDependent; + + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - public long Integral + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new DependentNameType(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + { + return new DependentNameType(native, skipVTables); + } + + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentNameType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentNameType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + 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_2((__Instance + __PointerAdjustment), __arg0); + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral = value; + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 248)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isDependent; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(20)] - public int lineNumberStart; + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new PackExpansionType(native.ToPointer(), skipVTables); + } - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.Cxx11.BasicString.__Internal Name; - - [FieldOffset(64)] - public global::Std.Cxx11.BasicString.__Internal USR; - - [FieldOffset(96)] - public global::Std.Cxx11.BasicString.__Internal DebugText; - - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] - public byte isDependent; - - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + { + return new PackExpansionType(native, skipVTables); + } - [FieldOffset(208)] - public global::System.IntPtr comment; + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(216)] - public global::System.IntPtr TemplatedDecl; + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(224)] - internal global::Std.Vector.__Internal Parameters; + protected PackExpansionType(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="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + public PackExpansionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] - internal static extern void ctor_1(global::System.IntPtr instance); + 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_2((__Instance + __PointerAdjustment), __arg0); + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] - internal static extern void cctor_3(global::System.IntPtr instance, global::System.IntPtr _0); + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + [FieldOffset(4)] + public byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] - internal static extern global::System.IntPtr GetParameters_0(global::System.IntPtr instance, uint i); + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] - internal static extern void AddParameters_0(global::System.IntPtr instance, global::System.IntPtr s); + [FieldOffset(24)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] - internal static extern void ClearParameters_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] - internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.Template __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 Template(native.ToPointer(), skipVTables); + return new UnaryTransformType(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.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) { - return new Template(native, skipVTables); + return new UnaryTransformType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor_3(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__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 Template(void* native, bool skipVTables = false) + protected UnaryTransformType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2861,106 +2781,57 @@ namespace CppSharp __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_0((__Instance + __PointerAdjustment), kind); - } - - public Template() + public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_1((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Template(global::CppSharp.Parser.AST.Template _0) + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__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_3((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__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); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public global::CppSharp.Parser.AST.QualifiedType Desugared { 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.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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 uint ParametersCount + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType); + } + + 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; } } } - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -2970,75 +2841,47 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - internal global::Std.Vector.__Internal Arguments; - - [FieldOffset(32)] - public global::System.IntPtr _template; + public global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - [FieldOffset(40)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(24)] + public uint numElements; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments_0(global::System.IntPtr @return, 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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(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.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateSpecializationType(native.ToPointer(), skipVTables); + return new VectorType(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.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) { - return new TemplateSpecializationType(native, skipVTables); + return new VectorType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) + protected VectorType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -3047,101 +2890,57 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() + public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Template Template + public global::CppSharp.Parser.AST.QualifiedType ElementType { 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.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType); } set { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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; } } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public uint NumElements { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared); + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; } 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_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements = value; } } } - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] @@ -3151,72 +2950,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - internal global::Std.Vector.__Internal Arguments; - - [FieldOffset(32)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + public global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new BuiltinType(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.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) { - return new DependentTemplateSpecializationType(native, skipVTables); + return new BuiltinType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + protected BuiltinType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -3225,330 +2996,273 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentTemplateSpecializationType() + public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public global::CppSharp.Parser.AST.PrimitiveType Type { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared); + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; } 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_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type = value; } } } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class VTableComponent : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 248)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.VTableComponentKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public uint offset; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + public global::System.IntPtr declaration; - [FieldOffset(20)] - public int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(24)] - public int lineNumberEnd; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(32)] - public global::Std.Cxx11.BasicString.__Internal Name; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(64)] - public global::Std.Cxx11.BasicString.__Internal USR; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [FieldOffset(96)] - public global::Std.Cxx11.BasicString.__Internal DebugText; + protected bool __ownsNativeInstance; - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] - public byte isDependent; - - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(200)] - public global::System.IntPtr originalPtr; - - [FieldOffset(208)] - public global::System.IntPtr comment; - - [FieldOffset(216)] - public uint depth; - - [FieldOffset(220)] - public uint index; - - [FieldOffset(224)] - public byte isParameterPack; - - [FieldOffset(232)] - public 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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypeTemplateParameter(native.ToPointer(), skipVTables); + return new VTableComponent(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.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - return new TypeTemplateParameter(native, skipVTables); + return new VTableComponent(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(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 TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__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 TypeTemplateParameter(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 TypeTemplateParameter() - : this((void*) null) + public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__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_1((__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() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VTableComponent __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public global::CppSharp.Parser.AST.VTableComponentKind Kind { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; } 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.VTableComponent.__Internal*) __Instance)->kind = value; } } - } - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + public uint Offset { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + } - [FieldOffset(8)] - public global::System.IntPtr parameter; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset = value; + } + } - [FieldOffset(16)] - public uint depth; + 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(20)] - public uint index; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(24)] - public byte isParameterPack; + public unsafe partial class VTableLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.Vector.__Internal Components; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] internal static extern void dtor_0(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_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] + internal static extern uint GetComponentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __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 TemplateParameterType(native.ToPointer(), skipVTables); + return new VTableLayout(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.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) { - return new TemplateParameterType(native, skipVTables); + return new VTableLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__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 TemplateParameterType(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 TemplateParameterType() - : this((void*) null) + public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) - : this((void*) null) + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3557,9 +3271,14 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Type __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VTableLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -3567,1429 +3286,293 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter + public global::CppSharp.Parser.AST.VTableComponent GetComponents(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; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + var __ret = __Internal.GetComponents_0((__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); } - public uint Depth + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth = value; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public void ClearComponents() { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index = value; - } + __Internal.ClearComponents_0((__Instance + __PointerAdjustment)); } - public bool IsParameterPack + public uint ComponentsCount { 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.GetComponentsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VFTableInfo : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + public ulong VBTableIndex; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + public uint VFPtrOffset; - [FieldOffset(24)] - public global::System.IntPtr replacedParameter; + [FieldOffset(12)] + public uint VFPtrFullOffset; + + [FieldOffset(16)] + public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __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 TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new VFTableInfo(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.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - return new TemplateParameterSubstitutionType(native, skipVTables); + return new VFTableInfo(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__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 TemplateParameterSubstitutionType(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 TemplateParameterSubstitutionType() - : this((void*) null) + public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) - : this((void*) null) + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VFTableInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public ulong VBTableIndex { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement); + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; } 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; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex = value; } } - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public uint VFPtrOffset { 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; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset = value; } } - } - public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 608)] - public new partial struct __Internal + public uint VFPtrFullOffset { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + get + { + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + } - [FieldOffset(8)] - public global::System.IntPtr _namespace; + set + { + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset = value; + } + } - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + public global::CppSharp.Parser.AST.VTableLayout Layout + { + get + { + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout); + } - [FieldOffset(20)] - public int lineNumberStart; + 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; + } + } + } - [FieldOffset(24)] - public int lineNumberEnd; + public unsafe partial class LayoutField : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal + { + [FieldOffset(0)] + public uint offset; - [FieldOffset(32)] + [FieldOffset(8)] public global::Std.Cxx11.BasicString.__Internal Name; - [FieldOffset(64)] - public global::Std.Cxx11.BasicString.__Internal USR; - - [FieldOffset(96)] - public global::Std.Cxx11.BasicString.__Internal DebugText; + [FieldOffset(40)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(128)] - public byte isIncomplete; + [FieldOffset(56)] + public global::System.IntPtr fieldPtr; - [FieldOffset(129)] - public byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(130)] - public byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr other); - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(144)] - public uint definitionOrder; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7getNameEv")] + internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7setNameEPKc")] + internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [FieldOffset(208)] - public global::System.IntPtr comment; + protected bool __ownsNativeInstance; - [FieldOffset(216)] - internal global::Std.Vector.__Internal Namespaces; + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new LayoutField(native.ToPointer(), skipVTables); + } - [FieldOffset(240)] - internal global::Std.Vector.__Internal Enums; + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + { + return new LayoutField(native, skipVTables); + } - [FieldOffset(264)] - internal global::Std.Vector.__Internal Functions; + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(288)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(312)] - internal global::Std.Vector.__Internal Templates; - - [FieldOffset(336)] - internal global::Std.Vector.__Internal Typedefs; - - [FieldOffset(360)] - internal global::Std.Vector.__Internal TypeAliases; - - [FieldOffset(384)] - internal global::Std.Vector.__Internal Variables; - - [FieldOffset(408)] - internal global::Std.Vector.__Internal Friends; - - [FieldOffset(432)] - internal global::Std.Map.__Internal anonymous; - - [FieldOffset(480)] - public byte isAnonymous; - - [FieldOffset(488)] - internal global::Std.Vector.__Internal Bases; - - [FieldOffset(512)] - internal global::Std.Vector.__Internal Fields; - - [FieldOffset(536)] - internal global::Std.Vector.__Internal Methods; - - [FieldOffset(560)] - internal global::Std.Vector.__Internal Specifiers; - - [FieldOffset(584)] - public byte isPOD; - - [FieldOffset(585)] - public byte isAbstract; - - [FieldOffset(586)] - public byte isUnion; - - [FieldOffset(587)] - public byte isDynamic; - - [FieldOffset(588)] - public byte isPolymorphic; - - [FieldOffset(589)] - public byte hasNonTrivialDefaultConstructor; - - [FieldOffset(590)] - public byte hasNonTrivialCopyConstructor; - - [FieldOffset(591)] - public byte hasNonTrivialDestructor; - - [FieldOffset(592)] - public byte isExternCContext; - - [FieldOffset(593)] - public byte isInjected; - - [FieldOffset(600)] - public global::System.IntPtr layout; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] - internal static extern global::System.IntPtr GetBases_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] - internal static extern global::System.IntPtr GetFields_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] - internal static extern global::System.IntPtr GetMethods_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] - internal static extern global::System.IntPtr GetSpecifiers_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] - internal static extern uint GetBasesCount_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] - internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] - internal static extern uint GetMethodsCount_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] - internal static extern uint GetSpecifiersCount_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new Class(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) - { - return new 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) - { - var __ret = __Internal.GetBases_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBases() - { - __Internal.ClearBases_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Field GetFields(uint i) - { - var __ret = __Internal.GetFields_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFields() - { - __Internal.ClearFields_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Method GetMethods(uint i) - { - var __ret = __Internal.GetMethods_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMethods() - { - __Internal.ClearMethods_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) - { - var __ret = __Internal.GetSpecifiers_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecifiers() - { - __Internal.ClearSpecifiers_0((__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_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint MethodsCount - { - get - { - var __ret = __Internal.GetMethodsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint SpecifiersCount - { - get - { - var __ret = __Internal.GetSpecifiersCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - - [FieldOffset(24)] - public global::System.IntPtr _class; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new InjectedClassNameType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) - { - return new InjectedClassNameType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected InjectedClassNameType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public InjectedClassNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.Class Class - { - 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 DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new DependentNameType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - { - return new DependentNameType(native, skipVTables); - } - - 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_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected DependentNameType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public DependentNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - 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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared); - } - - set - { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } - - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] - internal static extern void cctor_2(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 PackExpansionType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - { - return new 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_2(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_0((__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_2((__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)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new UnaryTransformType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) - { - return new UnaryTransformType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected UnaryTransformType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public UnaryTransformType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.QualifiedType BaseType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType); - } - - 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; - } - } - } - - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - - [FieldOffset(24)] - public uint numElements; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new VectorType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) - { - return new VectorType(native, skipVTables); - } - - 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_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VectorType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public VectorType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - 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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType ElementType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType); - } - - 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; - } - } - - public uint NumElements - { - get - { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; - } - - set - { - ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements = value; - } - } - } - - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.PrimitiveType type; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] - internal static extern void cctor_2(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 BuiltinType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - { - return new 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_2(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_0((__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_2((__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 VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.VTableComponentKind kind; - - [FieldOffset(4)] - public uint offset; - - [FieldOffset(8)] - public global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] - internal static extern void cctor_1(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 VTableComponent(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) - { - return new 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) + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VTableComponent(void* native, bool skipVTables = false) + protected LayoutField(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableComponent() + public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _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_1((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -4999,291 +3582,150 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.VTableComponent __dummy; + global::CppSharp.Parser.AST.LayoutField __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - 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; + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset = value; } } - } - - public unsafe partial class VTableLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.Vector.__Internal Components; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] - internal static extern void cctor_1(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_0(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_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] - internal static extern uint GetComponentsCount_0(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 VTableLayout(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - { - return new 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.VTableLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - var __ret = __Internal.GetComponents_0((__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); - } + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType); + } - 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_0((__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 ClearComponents() + public global::System.IntPtr FieldPtr { - __Internal.ClearComponents_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr = (global::System.IntPtr) value; + } } - public uint ComponentsCount + public string Name { get { - var __ret = __Internal.GetComponentsCount_0((__Instance + __PointerAdjustment)); - return __ret; + var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetName_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class VFTableInfo : IDisposable + public unsafe partial class LayoutBase : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { [FieldOffset(0)] - public ulong VBTableIndex; + public uint offset; [FieldOffset(8)] - public uint VFPtrOffset; - - [FieldOffset(12)] - public uint VFPtrFullOffset; - - [FieldOffset(16)] - public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + public global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] internal static extern void dtor_0(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.VFTableInfo __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 VFTableInfo(native.ToPointer(), skipVTables); + return new LayoutBase(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.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new VFTableInfo(native, skipVTables); + return new LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__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 VFTableInfo(void* native, bool skipVTables = false) + protected LayoutBase(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VFTableInfo() + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__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_1((__Instance + __PointerAdjustment), __arg0); } @@ -5294,7 +3736,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.VFTableInfo __dummy; + global::CppSharp.Parser.AST.LayoutBase __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5302,158 +3744,205 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - 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 + public uint Offset { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset = value; + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset = value; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public global::CppSharp.Parser.AST.Class Class { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout); + 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.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.LayoutBase.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class LayoutField : IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public partial struct __Internal { [FieldOffset(0)] - public uint offset; + public global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(8)] - public global::Std.Cxx11.BasicString.__Internal Name; + internal global::Std.Vector.__Internal VFTables; - [FieldOffset(40)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(32)] + public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [FieldOffset(56)] - public global::System.IntPtr fieldPtr; + public byte hasOwnVFPtr; + + [FieldOffset(64)] + public long VBPtrOffset; + + [FieldOffset(72)] + public int alignment; + + [FieldOffset(76)] + public int size; + + [FieldOffset(80)] + public int dataSize; + + [FieldOffset(88)] + internal global::Std.Vector.__Internal Fields; + + [FieldOffset(112)] + internal global::Std.Vector.__Internal Bases; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr other); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7getNameEv")] - internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] + internal static extern void GetVFTables_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7setNameEPKc")] - internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE")] + internal static extern void AddVFTables_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] + internal static extern void GetFields_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] + internal static extern void GetBases_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] + internal static extern uint GetVFTablesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] + internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] + internal static extern uint GetBasesCount_0(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.LayoutField __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 LayoutField(native.ToPointer(), skipVTables); + return new ClassLayout(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.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new LayoutField(native, skipVTables); + return new ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__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 LayoutField(void* native, bool skipVTables = false) + protected ClassLayout(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutField() + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__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_1((__Instance + __PointerAdjustment), __arg0); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -5463,7 +3952,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.LayoutField __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5471,359 +3960,386 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public uint Offset + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + { + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVFTables() + { + __Internal.ClearVFTables_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.CppAbi ABI { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset = value; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI = value; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType); + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout); } 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.ClassLayout.__Internal*) __Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } - public global::System.IntPtr FieldPtr + public bool HasOwnVFPtr { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); } } - public string Name + public long VBPtrOffset { get { - var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; } set { - __Internal.SetName_0((__Instance + __PointerAdjustment), value); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset = value; } } - } - - public unsafe partial class LayoutBase : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - public uint offset; - - [FieldOffset(8)] - public global::System.IntPtr _class; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] - internal static extern void cctor_1(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_0(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 LayoutBase(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) - { - return new 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_1(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() + public int Alignment { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + } - 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_1((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment = value; + } } - public void Dispose() + public int Size { - Dispose(disposing: true); - } + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + } - public virtual void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.LayoutBase __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size = value; + } } - public uint Offset + public int DataSize { get { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset = value; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize = value; } } - public global::CppSharp.Parser.AST.Class Class + public uint VFTablesCount { 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; + var __ret = __Internal.GetVFTablesCount_0((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint FieldsCount + { + get { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint BasesCount + { + get + { + var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class ClassLayout : IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.CppAbi ABI; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - internal global::Std.Vector.__Internal VFTables; + public global::System.IntPtr _namespace; - [FieldOffset(32)] - public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(56)] - public byte hasOwnVFPtr; + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.Cxx11.BasicString.__Internal Name; [FieldOffset(64)] - public long VBPtrOffset; + public global::Std.Cxx11.BasicString.__Internal USR; - [FieldOffset(72)] - public int alignment; + [FieldOffset(96)] + public global::Std.Cxx11.BasicString.__Internal DebugText; - [FieldOffset(76)] - public int size; + [FieldOffset(128)] + public byte isIncomplete; - [FieldOffset(80)] - public int dataSize; + [FieldOffset(129)] + public byte isDependent; - [FieldOffset(88)] - internal global::Std.Vector.__Internal Fields; + [FieldOffset(130)] + public byte isImplicit; - [FieldOffset(112)] - internal global::Std.Vector.__Internal Bases; + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] - internal static extern void GetVFTables_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] + internal static extern global::System.IntPtr GetPreprocessedEntities_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] + internal static extern void AddPreprocessedEntities_0(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_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] + internal static extern void ClearPreprocessedEntities_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] - internal static extern void GetFields_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] + internal static extern global::System.IntPtr GetRedeclarations_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] + internal static extern void AddRedeclarations_0(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_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] + internal static extern void ClearRedeclarations_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] - internal static extern void GetBases_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7getNameEv")] + internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] - internal static extern void AddBases_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc")] + internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] - internal static extern void ClearBases_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6getUSREv")] + internal static extern global::System.IntPtr USR_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] - internal static extern uint GetVFTablesCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6setUSREPKc")] + internal static extern void SetUSR_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] - internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv")] + internal static extern global::System.IntPtr DebugText_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] - internal static extern uint GetBasesCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc")] + internal static extern void SetDebugText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] + internal static extern uint GetPreprocessedEntitiesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] + internal static extern uint GetRedeclarationsCount_0(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.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new ClassLayout(native.ToPointer(), skipVTables); + return new Declaration(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.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new ClassLayout(native, skipVTables); + return new Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__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 ClassLayout(void* native, bool skipVTables = false) + protected Declaration(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassLayout() + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -5833,7 +4349,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.ClassLayout __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5841,180 +4357,299 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + { + var __ret = __Internal.GetPreprocessedEntities_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearPreprocessedEntities() + { + __Internal.ClearPreprocessedEntities_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations_0((__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 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 { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); - } + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + } - 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_0((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location = value.__Instance; + } } - public void ClearVFTables() + public int LineNumberStart { - __Internal.ClearVFTables_0((__Instance + __PointerAdjustment)); - } + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + } - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart = value; + } } - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + public int LineNumberEnd { - 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_0((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + } - public void ClearFields() - { - __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd = value; + } } - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + public bool IsIncomplete { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); - } + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; + } - 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_0((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete = (byte) (value ? 1 : 0); + } } - public void ClearBases() + public bool IsDependent { - __Internal.ClearBases_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.CppAbi ABI + public bool IsImplicit { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout); + 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.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.Declaration.__Internal*) __Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool HasOwnVFPtr + public uint DefinitionOrder { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder = value; } } - public long VBPtrOffset + public global::System.IntPtr OriginalPtr { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; } } - public int Alignment + public global::CppSharp.Parser.AST.RawComment Comment { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + 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.ClassLayout.__Internal*) __Instance)->alignment = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public int Size + public string Name { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size = value; + __Internal.SetName_0((__Instance + __PointerAdjustment), value); } } - public int DataSize + public string USR { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + var __ret = __Internal.USR_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize = value; + __Internal.SetUSR_0((__Instance + __PointerAdjustment), value); } } - public uint VFTablesCount + public string DebugText { get { - var __ret = __Internal.GetVFTablesCount_0((__Instance + __PointerAdjustment)); - return __ret; + var __ret = __Internal.DebugText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetDebugText_0((__Instance + __PointerAdjustment), value); } } - public uint FieldsCount + public uint PreprocessedEntitiesCount { get { - var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment)); return __ret; } } - public uint BasesCount + public uint RedeclarationsCount { get { - var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetRedeclarationsCount_0((__Instance + __PointerAdjustment)); return __ret; } } @@ -6688,109 +5323,130 @@ namespace CppSharp } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 80)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.RawCommentKind kind; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::Std.Cxx11.BasicString.__Internal Text; + public global::System.IntPtr _namespace; - [FieldOffset(40)] - public global::Std.Cxx11.BasicString.__Internal BriefText; + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(72)] - public global::System.IntPtr fullCommentBlock; + [FieldOffset(20)] + public int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + [FieldOffset(24)] + public int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(32)] + public global::Std.Cxx11.BasicString.__Internal Name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + [FieldOffset(64)] + public global::Std.Cxx11.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7getTextEv")] - internal static extern global::System.IntPtr Text_0(global::System.IntPtr instance); + [FieldOffset(96)] + public global::Std.Cxx11.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc")] - internal static extern void SetText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv")] - internal static extern global::System.IntPtr BriefText_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc")] - internal static extern void SetBriefText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - } - - 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; + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.RawComment __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 RawComment(native.ToPointer(), skipVTables); + return new TypedefNameDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__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 RawComment(native, skipVTables); + return new TypedefNameDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__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 RawComment(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 RawComment() + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6799,14 +5455,9 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -6814,202 +5465,171 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - 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 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; - } - } - - public string Text + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - var __ret = __Internal.Text_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } - - set - { - __Internal.SetText_0((__Instance + __PointerAdjustment), value); - } + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } - public string BriefText + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - var __ret = __Internal.BriefText_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType); } set { - __Internal.SetBriefText_0((__Instance + __PointerAdjustment), 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 PreprocessedEntity : IDisposable + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.MacroLocation macroLocation; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr originalPtr; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.Cxx11.BasicString.__Internal Name; + + [FieldOffset(64)] + public global::Std.Cxx11.BasicString.__Internal USR; + + [FieldOffset(96)] + public global::Std.Cxx11.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] internal static extern void cctor_1(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="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __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 PreprocessedEntity(native.ToPointer(), skipVTables); + return new TypedefDecl(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.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new PreprocessedEntity(native, skipVTables); + return new TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__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.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__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 PreprocessedEntity(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TypedefDecl() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__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_1((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - - public global::CppSharp.Parser.AST.MacroLocation MacroLocation - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation = value; - } - } - - public global::System.IntPtr OriginalPtr - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; - } - } - - public global::CppSharp.Parser.AST.DeclarationKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind = value; - } - } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 528)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { [FieldOffset(0)] @@ -7067,302 +5687,213 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - internal global::Std.Vector.__Internal Namespaces; - - [FieldOffset(240)] - internal global::Std.Vector.__Internal Enums; - - [FieldOffset(264)] - internal global::Std.Vector.__Internal Functions; - - [FieldOffset(288)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(312)] - internal global::Std.Vector.__Internal Templates; - - [FieldOffset(336)] - internal global::Std.Vector.__Internal Typedefs; - - [FieldOffset(360)] - internal global::Std.Vector.__Internal TypeAliases; - - [FieldOffset(384)] - internal global::Std.Vector.__Internal Variables; - - [FieldOffset(408)] - internal global::Std.Vector.__Internal Friends; - - [FieldOffset(432)] - internal global::Std.Map.__Internal anonymous; - - [FieldOffset(480)] - public byte isAnonymous; - - [FieldOffset(484)] - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; - - [FieldOffset(488)] - public global::System.IntPtr type; - - [FieldOffset(496)] - public global::System.IntPtr builtinType; + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(504)] - internal global::Std.Vector.__Internal Items; + [FieldOffset(232)] + public global::System.IntPtr describedAliasTemplate; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] - internal static extern global::System.IntPtr GetItems_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] - internal static extern void ClearItems_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] - internal static extern uint GetItemsCount_0(global::System.IntPtr instance); } - [Flags] - public enum EnumModifiers + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Anonymous = 1, - Scoped = 2, - Flags = 4 + return new TypeAlias(native.ToPointer(), skipVTables); } - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) { - [StructLayout(LayoutKind.Explicit, Size = 256)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.Cxx11.BasicString.__Internal Name; - - [FieldOffset(64)] - public global::Std.Cxx11.BasicString.__Internal USR; + return new TypeAlias(native, skipVTables); + } - [FieldOffset(96)] - public global::Std.Cxx11.BasicString.__Internal DebugText; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(128)] - public byte isIncomplete; + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(129)] - public byte isDependent; + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(130)] - public byte isImplicit; + public TypeAlias() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) + { + __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_1((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(144)] - public uint definitionOrder; + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + { + 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; + } - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; + set + { + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 224)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(208)] - public global::System.IntPtr comment; + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(216)] - public global::Std.Cxx11.BasicString.__Internal Expression; + [FieldOffset(8)] + public global::System.IntPtr _namespace; - [FieldOffset(248)] - public ulong value; + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + [FieldOffset(20)] + public int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(24)] + public int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + [FieldOffset(32)] + public global::Std.Cxx11.BasicString.__Internal Name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv")] - internal static extern global::System.IntPtr Expression_0(global::System.IntPtr instance); + [FieldOffset(64)] + public global::Std.Cxx11.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc")] - internal static extern void SetExpression_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - } + [FieldOffset(96)] + public global::Std.Cxx11.BasicString.__Internal DebugText; - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new Item(native.ToPointer(), skipVTables); - } + [FieldOffset(128)] + public byte isIncomplete; - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new Item(native, skipVTables); - } + [FieldOffset(129)] + public byte isDependent; - 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_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(130)] + public byte isImplicit; - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(144)] + public uint definitionOrder; - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; - 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_1((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } + [FieldOffset(200)] + public global::System.IntPtr originalPtr; - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } + [FieldOffset(208)] + public global::System.IntPtr comment; - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value = value; - } - } + [FieldOffset(216)] + public global::System.IntPtr declaration; - public string Expression - { - get - { - var __ret = __Internal.Expression_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - set - { - __Internal.SetExpression_0((__Instance + __PointerAdjustment), value); - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Enumeration __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 Enumeration(native.ToPointer(), skipVTables); + return new Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__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 Enumeration(native, skipVTables); + return new Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__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 Enumeration(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7371,19 +5902,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Enumeration() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7402,293 +5933,321 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + public global::CppSharp.Parser.AST.Declaration Declaration { - var __ret = __Internal.GetItems_0((__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 + { + 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 void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + public unsafe partial class Statement : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + 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.AddItems_0((__Instance + __PointerAdjustment), __arg0); + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(8)] + public global::System.IntPtr decl; + + [FieldOffset(16)] + public global::Std.Cxx11.BasicString.__Internal String; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + internal static extern void cctor_2(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9getStringEv")] + internal static extern global::System.IntPtr String_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9setStringEPKc")] + internal static extern void SetString_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - public void ClearItems() + 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.ClearItems_0((__Instance + __PointerAdjustment)); + return new Statement(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; - } + return new Statement(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers = value; - } + 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_2(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(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_2((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.StatementClass Class { 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.Statement.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class = value; } } - public global::CppSharp.Parser.AST.BuiltinType BuiltinType + public global::CppSharp.Parser.AST.Declaration Decl { 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.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.Enumeration.__Internal*) __Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ItemsCount + public string String { get { - var __ret = __Internal.GetItemsCount_0((__Instance + __PointerAdjustment)); - return __ret; + var __ret = __Internal.String_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetString_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 408)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - public global::System.IntPtr _namespace; + public global::System.IntPtr decl; [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.Cxx11.BasicString.__Internal Name; - - [FieldOffset(64)] - public global::Std.Cxx11.BasicString.__Internal USR; - - [FieldOffset(96)] - public global::Std.Cxx11.BasicString.__Internal DebugText; - - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] - public byte isDependent; - - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(200)] - public global::System.IntPtr originalPtr; - - [FieldOffset(208)] - public global::System.IntPtr comment; - - [FieldOffset(216)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(232)] - public byte isReturnIndirect; - - [FieldOffset(233)] - public byte hasThisReturn; - - [FieldOffset(234)] - public byte isConstExpr; + public global::Std.Cxx11.BasicString.__Internal String; - [FieldOffset(235)] - public byte isVariadic; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(236)] - public byte isInline; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } - [FieldOffset(237)] - public byte isPure; + internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Expression(native.ToPointer(), skipVTables); + } - [FieldOffset(238)] - public byte isDeleted; + internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + { + return new Expression(native, skipVTables); + } - [FieldOffset(240)] - public global::CppSharp.Parser.AST.FriendKind friendKind; + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(244)] - public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(248)] - public global::Std.Cxx11.BasicString.__Internal Mangled; + protected Expression(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(280)] - public global::Std.Cxx11.BasicString.__Internal Signature; + 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_1((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(312)] - public global::Std.Cxx11.BasicString.__Internal Body; + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + } - [FieldOffset(344)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; - [FieldOffset(352)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(8)] + public global::System.IntPtr decl; - [FieldOffset(376)] - public global::System.IntPtr specializationInfo; + [FieldOffset(16)] + public global::Std.Cxx11.BasicString.__Internal String; - [FieldOffset(384)] - public global::System.IntPtr instantiatedFrom; + [FieldOffset(48)] + public global::System.IntPtr LHS; - [FieldOffset(392)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(56)] + public global::System.IntPtr RHS; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + [FieldOffset(64)] + public global::Std.Cxx11.BasicString.__Internal OpcodeStr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] - internal static extern global::System.IntPtr GetParameters_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function10getMangledEv")] - internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc")] - internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function12getSignatureEv")] - internal static extern global::System.IntPtr Signature_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc")] - internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function7getBodyEv")] - internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc")] - internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12getOpcodeStrEv")] + internal static extern global::System.IntPtr OpcodeStr_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] - internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12setOpcodeStrEPKc")] + internal static extern void SetOpcodeStr_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - internal static new global::CppSharp.Parser.AST.Function __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 Function(native.ToPointer(), skipVTables); + return new BinaryOperator(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__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 Function(native, skipVTables); + return new BinaryOperator(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Function(global::CppSharp.Parser.AST.Function.__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 Function(void* native, bool skipVTables = false) + protected BinaryOperator(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7697,19 +6256,10 @@ namespace CppSharp __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_0((__Instance + __PointerAdjustment)); - } - - public Function(global::CppSharp.Parser.AST.Function _0) + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7720,7 +6270,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -7728,377 +6278,267 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 + public global::CppSharp.Parser.AST.Expression LHS { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 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.Function.__Internal*) __Instance)->isVariadic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsInline + public global::CppSharp.Parser.AST.Expression RHS { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 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.Function.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsPure + public string OpcodeStr { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + var __ret = __Internal.OpcodeStr_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure = (byte) (value ? 1 : 0); + __Internal.SetOpcodeStr_0((__Instance + __PointerAdjustment), value); } } + } - public bool IsDeleted + 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.Function.__Internal*) __Instance)->isDeleted != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted = (byte) (value ? 1 : 0); - } - } + [FieldOffset(8)] + public global::System.IntPtr decl; - public global::CppSharp.Parser.AST.FriendKind FriendKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; - } + [FieldOffset(16)] + public global::Std.Cxx11.BasicString.__Internal String; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind = value; - } - } + [FieldOffset(48)] + internal global::Std.Vector.__Internal Arguments; - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind = value; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - public global::CppSharp.Parser.AST.CallingConvention CallingConvention - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention = value; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); - 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; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr 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; - } + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new CallExpr(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType); - } + return new CallExpr(native, skipVTables); + } - 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; - } + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public string Mangled + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); - } + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public string Signature + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) { - get - { - var __ret = __Internal.Signature_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __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_1((__Instance + __PointerAdjustment), __arg0); + } - set - { - __Internal.SetSignature_0((__Instance + __PointerAdjustment), value); - } + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public string Body + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) { - get - { - var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + var __ret = __Internal.GetArguments_0((__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; + } - set - { - __Internal.SetBody_0((__Instance + __PointerAdjustment), value); - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public uint ParametersCount + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public uint ArgumentsCount { get { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - public global::System.IntPtr _namespace; + public global::System.IntPtr decl; [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.Cxx11.BasicString.__Internal Name; - - [FieldOffset(64)] - public global::Std.Cxx11.BasicString.__Internal USR; - - [FieldOffset(96)] - public global::Std.Cxx11.BasicString.__Internal DebugText; - - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] - public byte isDependent; - - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; + public global::Std.Cxx11.BasicString.__Internal String; - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; + [FieldOffset(48)] + internal global::Std.Vector.__Internal Arguments; - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(208)] - public global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(216)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefDecl __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 TypedefDecl(native.ToPointer(), skipVTables); + return new CXXConstructExpr(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.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) { - return new TypedefDecl(native, skipVTables); + return new CXXConstructExpr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__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 TypedefDecl(void* native, bool skipVTables = false) + protected CXXConstructExpr(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8107,19 +6547,10 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefDecl() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8130,18 +6561,51 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + { + var __ret = __Internal.GetArguments_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 248)] public new partial struct __Internal { [FieldOffset(0)] @@ -8202,49 +6666,58 @@ namespace CppSharp public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(232)] - public global::System.IntPtr describedAliasTemplate; + public byte isIndirect; + + [FieldOffset(233)] + public byte hasDefaultValue; + + [FieldOffset(236)] + public uint index; + + [FieldOffset(240)] + public global::System.IntPtr defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] internal static extern void dtor_0(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.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypeAlias(native.ToPointer(), skipVTables); + return new Parameter(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.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) { - return new TypeAlias(native, skipVTables); + return new Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__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 TypeAlias(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8253,19 +6726,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAlias() + public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8284,28 +6757,80 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { 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 global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + } + } + + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + } + + set + { + ((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.TypeAlias.__Internal*) __Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 488)] + [StructLayout(LayoutKind.Explicit, Size = 408)] public new partial struct __Internal { [FieldOffset(0)] @@ -8363,82 +6888,150 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - internal global::Std.Vector.__Internal Namespaces; + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - [FieldOffset(240)] - internal global::Std.Vector.__Internal Enums; + [FieldOffset(232)] + public byte isReturnIndirect; - [FieldOffset(264)] - internal global::Std.Vector.__Internal Functions; + [FieldOffset(233)] + public byte hasThisReturn; - [FieldOffset(288)] - internal global::Std.Vector.__Internal Classes; + [FieldOffset(234)] + public byte isConstExpr; - [FieldOffset(312)] - internal global::Std.Vector.__Internal Templates; + [FieldOffset(235)] + public byte isVariadic; - [FieldOffset(336)] - internal global::Std.Vector.__Internal Typedefs; + [FieldOffset(236)] + public byte isInline; - [FieldOffset(360)] - internal global::Std.Vector.__Internal TypeAliases; + [FieldOffset(237)] + public byte isPure; - [FieldOffset(384)] - internal global::Std.Vector.__Internal Variables; + [FieldOffset(238)] + public byte isDeleted; - [FieldOffset(408)] - internal global::Std.Vector.__Internal Friends; + [FieldOffset(240)] + public global::CppSharp.Parser.AST.FriendKind friendKind; - [FieldOffset(432)] - internal global::Std.Map.__Internal anonymous; + [FieldOffset(244)] + public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - [FieldOffset(480)] - public byte isAnonymous; + [FieldOffset(248)] + public global::Std.Cxx11.BasicString.__Internal Mangled; - [FieldOffset(481)] - public byte isInline; + [FieldOffset(280)] + public global::Std.Cxx11.BasicString.__Internal Signature; + + [FieldOffset(312)] + public global::Std.Cxx11.BasicString.__Internal Body; + + [FieldOffset(344)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(352)] + internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(376)] + public global::System.IntPtr specializationInfo; + + [FieldOffset(384)] + public global::System.IntPtr instantiatedFrom; + + [FieldOffset(392)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] + internal static extern global::System.IntPtr GetParameters_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function10getMangledEv")] + internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc")] + internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function12getSignatureEv")] + internal static extern global::System.IntPtr Signature_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc")] + internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7getBodyEv")] + internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc")] + internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] + internal static extern uint GetParametersCount_0(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.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Namespace(native.ToPointer(), skipVTables); + return new Function(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.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new Namespace(native, skipVTables); + return new Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__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 Namespace(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8447,19 +7040,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8478,169 +7071,277 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsInline + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType); } set { - ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + ((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 TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 248)] - public new partial struct __Internal + public bool IsReturnIndirect { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + } - [FieldOffset(32)] - public global::Std.Cxx11.BasicString.__Internal Name; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + } + } - [FieldOffset(64)] - public global::Std.Cxx11.BasicString.__Internal USR; + public bool HasThisReturn + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + } - [FieldOffset(96)] - public global::Std.Cxx11.BasicString.__Internal DebugText; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn = (byte) (value ? 1 : 0); + } + } - [FieldOffset(128)] - public byte isIncomplete; + public bool IsConstExpr + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + } - [FieldOffset(129)] - public byte isDependent; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr = (byte) (value ? 1 : 0); + } + } - [FieldOffset(130)] - public byte isImplicit; + public bool IsVariadic + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + } - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(144)] - public uint definitionOrder; + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + } - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + } + } - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; + public bool IsPure + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + } - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure = (byte) (value ? 1 : 0); + } + } - [FieldOffset(208)] - public global::System.IntPtr comment; + public bool IsDeleted + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + } - [FieldOffset(216)] - public global::System.IntPtr TemplatedDecl; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted = (byte) (value ? 1 : 0); + } + } - [FieldOffset(224)] - internal global::Std.Vector.__Internal Parameters; + public global::CppSharp.Parser.AST.FriendKind FriendKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind = value; + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind = value; + } } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { - return new TypeAliasTemplate(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention = value; + } } - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo { - return new TypeAliasTemplate(native, skipVTables); + 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; + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + public global::CppSharp.Parser.AST.Function InstantiatedFrom { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + 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; + } } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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; + } } - protected TypeAliasTemplate(void* native, bool skipVTables = false) - : base((void*) null) + public string Mangled { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); + } } - public TypeAliasTemplate() - : this((void*) null) + public string Signature { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.Signature_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetSignature_0((__Instance + __PointerAdjustment), value); + } } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) - : this((void*) null) + public string Body { - __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_1((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBody_0((__Instance + __PointerAdjustment), value); + } } - public override void Dispose(bool disposing) + public uint ParametersCount { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + get + { + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 272)] + [StructLayout(LayoutKind.Explicit, Size = 448)] public new partial struct __Internal { [FieldOffset(0)] @@ -8698,277 +7399,133 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - public global::System.IntPtr TemplatedDecl; - - [FieldOffset(224)] - internal global::Std.Vector.__Internal Parameters; - - [FieldOffset(248)] - internal global::Std.Vector.__Internal Specializations; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] - internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new ClassTemplate(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) - { - return new ClassTemplate(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected ClassTemplate(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public ClassTemplate() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__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_1((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(232)] + public byte isReturnIndirect; - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } + [FieldOffset(233)] + public byte hasThisReturn; - public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations_0((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(234)] + public byte isConstExpr; - public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization 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_0((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(235)] + public byte isVariadic; - public void ClearSpecializations() - { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); - } + [FieldOffset(236)] + public byte isInline; - public uint SpecializationsCount - { - get - { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(237)] + public byte isPure; - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 272)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(238)] + public byte isDeleted; - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + [FieldOffset(240)] + public global::CppSharp.Parser.AST.FriendKind friendKind; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [FieldOffset(244)] + public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(248)] + public global::Std.Cxx11.BasicString.__Internal Mangled; - [FieldOffset(20)] - public int lineNumberStart; + [FieldOffset(280)] + public global::Std.Cxx11.BasicString.__Internal Signature; - [FieldOffset(24)] - public int lineNumberEnd; + [FieldOffset(312)] + public global::Std.Cxx11.BasicString.__Internal Body; - [FieldOffset(32)] - public global::Std.Cxx11.BasicString.__Internal Name; + [FieldOffset(344)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(64)] - public global::Std.Cxx11.BasicString.__Internal USR; + [FieldOffset(352)] + internal global::Std.Vector.__Internal Parameters; - [FieldOffset(96)] - public global::Std.Cxx11.BasicString.__Internal DebugText; + [FieldOffset(376)] + public global::System.IntPtr specializationInfo; - [FieldOffset(128)] - public byte isIncomplete; + [FieldOffset(384)] + public global::System.IntPtr instantiatedFrom; - [FieldOffset(129)] - public byte isDependent; + [FieldOffset(392)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(130)] - public byte isImplicit; + [FieldOffset(408)] + public byte isVirtual; - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; + [FieldOffset(409)] + public byte isStatic; - [FieldOffset(144)] - public uint definitionOrder; + [FieldOffset(410)] + public byte isConst; - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; + [FieldOffset(411)] + public byte isExplicit; - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; + [FieldOffset(412)] + public byte isOverride; - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + [FieldOffset(416)] + public global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(208)] - public global::System.IntPtr comment; + [FieldOffset(420)] + public byte isDefaultConstructor; - [FieldOffset(216)] - public global::System.IntPtr TemplatedDecl; + [FieldOffset(421)] + public byte isCopyConstructor; - [FieldOffset(224)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(422)] + public byte isMoveConstructor; - [FieldOffset(248)] - internal global::Std.Vector.__Internal Specializations; + [FieldOffset(424)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(440)] + public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount_0(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 FunctionTemplate(native.ToPointer(), skipVTables); + return new 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 FunctionTemplate(native, skipVTables); + return new 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_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor_1(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; @@ -8977,19 +7534,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_0((__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)) @@ -9008,43 +7565,153 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + public bool IsVirtual { - var __ret = __Internal.GetSpecializations_0((__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; + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); + } } - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + public bool IsStatic { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic = (byte) (value ? 1 : 0); + } } - public void ClearSpecializations() + public bool IsConst { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst = (byte) (value ? 1 : 0); + } } - public uint SpecializationsCount + public bool IsExplicit { get { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public bool IsOverride + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride = (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(((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 unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 264)] + [StructLayout(LayoutKind.Explicit, Size = 528)] public new partial struct __Internal { [FieldOffset(0)] @@ -9102,62 +7769,302 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - public global::Std.Cxx11.BasicString.__Internal Mangled; + internal global::Std.Vector.__Internal Namespaces; - [FieldOffset(248)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(240)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(264)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(336)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(360)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(384)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(408)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(432)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(480)] + public byte isAnonymous; + + [FieldOffset(484)] + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(488)] + public global::System.IntPtr type; + + [FieldOffset(496)] + public global::System.IntPtr builtinType; + + [FieldOffset(504)] + internal global::Std.Vector.__Internal Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10getMangledEv")] - internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] + internal static extern global::System.IntPtr GetItems_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc")] - internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE")] + internal static extern void AddItems_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] + internal static extern void ClearItems_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] + internal static extern uint GetItemsCount_0(global::System.IntPtr instance); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } + + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.Cxx11.BasicString.__Internal Name; + + [FieldOffset(64)] + public global::Std.Cxx11.BasicString.__Internal USR; + + [FieldOffset(96)] + public global::Std.Cxx11.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + public global::Std.Cxx11.BasicString.__Internal Expression; + + [FieldOffset(248)] + public ulong value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv")] + internal static extern global::System.IntPtr Expression_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc")] + internal static extern void SetExpression_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } + + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new 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 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + 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; + } + } + + public string Expression + { + get + { + var __ret = __Internal.Expression_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetExpression_0((__Instance + __PointerAdjustment), value); + } + } } - internal static new global::CppSharp.Parser.AST.Variable __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 Variable(native.ToPointer(), skipVTables); + return new Enumeration(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.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new Variable(native, skipVTables); + return new Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__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 Variable(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9166,19 +8073,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9197,37 +8104,92 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + { + var __ret = __Internal.GetItems_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearItems() + { + __Internal.ClearItems_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType); + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; } 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.Enumeration.__Internal*) __Instance)->modifiers = value; } } - public string Mangled + public global::CppSharp.Parser.AST.Type Type { get { - var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + 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 { - __Internal.SetMangled_0((__Instance + __PointerAdjustment), 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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 224)] + [StructLayout(LayoutKind.Explicit, Size = 264)] public new partial struct __Internal { [FieldOffset(0)] @@ -9285,49 +8247,62 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - public global::System.IntPtr declaration; + public global::Std.Cxx11.BasicString.__Internal Mangled; + + [FieldOffset(248)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10getMangledEv")] + internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc")] + internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - internal static new global::CppSharp.Parser.AST.Friend __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 Friend(native.ToPointer(), skipVTables); + return new Variable(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.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new Friend(native, skipVTables); + return new Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Friend(global::CppSharp.Parser.AST.Friend.__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 Friend(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9336,19 +8311,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Friend() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9367,108 +8342,115 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { 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; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType); } set { - ((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : 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 string Mangled + { + get + { + var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class Statement : IDisposable + public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(4)] + public byte isVirtual; [FieldOffset(8)] - public global::System.IntPtr decl; + public global::System.IntPtr type; [FieldOffset(16)] - public global::Std.Cxx11.BasicString.__Internal String; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] - internal static extern void cctor_2(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_0(global::System.IntPtr instance); + public int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9getStringEv")] - internal static extern global::System.IntPtr String_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9setStringEPKc")] - internal static extern void SetString_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] + internal static extern void cctor_1(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(); + 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 global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Statement(native.ToPointer(), skipVTables); + return new BaseClassSpecifier(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.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new Statement(native, skipVTables); + return new BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor_2(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 Statement(global::CppSharp.Parser.AST.Statement.__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 Statement(void* native, bool skipVTables = false) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + { + __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); } public void Dispose() @@ -9478,110 +8460,182 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.StatementClass Class + 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.Statement.__Internal*) __Instance)->_class; + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class = value; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.Declaration Decl + public global::CppSharp.Parser.AST.Type Type { 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.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.Statement.__Internal*) __Instance)->decl = 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 string String + public int Offset { get { - var __ret = __Internal.String_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; } set { - __Internal.SetString_0((__Instance + __PointerAdjustment), value); + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset = value; } } } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 248)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr decl; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public global::Std.Cxx11.BasicString.__Internal String; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.Cxx11.BasicString.__Internal Name; + + [FieldOffset(64)] + public global::Std.Cxx11.BasicString.__Internal USR; + + [FieldOffset(96)] + public global::Std.Cxx11.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(232)] + public global::System.IntPtr _class; + + [FieldOffset(240)] + public byte isBitField; + + [FieldOffset(244)] + public uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Expression __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 Expression(native.ToPointer(), skipVTables); + return new Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__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 Expression(native, skipVTables); + return new Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Expression(global::CppSharp.Parser.AST.Expression.__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 Expression(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9590,10 +8644,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Expression(global::CppSharp.Parser.AST.Expression _0) + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Field(global::CppSharp.Parser.AST.Field _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9604,84 +8667,172 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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.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 BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr decl; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public global::Std.Cxx11.BasicString.__Internal String; + public global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(48)] - public global::System.IntPtr LHS; + [FieldOffset(20)] + public int lineNumberStart; - [FieldOffset(56)] - public global::System.IntPtr RHS; + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.Cxx11.BasicString.__Internal Name; [FieldOffset(64)] - public global::Std.Cxx11.BasicString.__Internal OpcodeStr; + public global::Std.Cxx11.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(96)] + public global::Std.Cxx11.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12getOpcodeStrEv")] - internal static extern global::System.IntPtr OpcodeStr_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12setOpcodeStrEPKc")] - internal static extern void SetOpcodeStr_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __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 BinaryOperator(native.ToPointer(), skipVTables); + return new AccessSpecifierDecl(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.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new BinaryOperator(native, skipVTables); + return new AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__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 BinaryOperator(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9690,10 +8841,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__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)) @@ -9704,138 +8864,273 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + } - public global::CppSharp.Parser.AST.Expression LHS + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 608)] + public new partial struct __Internal { - 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; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; - 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(8)] + public global::System.IntPtr _namespace; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - public string OpcodeStr - { - get - { - var __ret = __Internal.OpcodeStr_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.Cxx11.BasicString.__Internal Name; + + [FieldOffset(64)] + public global::Std.Cxx11.BasicString.__Internal USR; + + [FieldOffset(96)] + public global::Std.Cxx11.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(240)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(264)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(336)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(360)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(384)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(408)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(432)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(480)] + public byte isAnonymous; + + [FieldOffset(488)] + internal global::Std.Vector.__Internal Bases; + + [FieldOffset(512)] + internal global::Std.Vector.__Internal Fields; + + [FieldOffset(536)] + internal global::Std.Vector.__Internal Methods; + + [FieldOffset(560)] + internal global::Std.Vector.__Internal Specifiers; + + [FieldOffset(584)] + public byte isPOD; + + [FieldOffset(585)] + public byte isAbstract; + + [FieldOffset(586)] + public byte isUnion; + + [FieldOffset(587)] + public byte isDynamic; + + [FieldOffset(588)] + public byte isPolymorphic; + + [FieldOffset(589)] + public byte hasNonTrivialDefaultConstructor; + + [FieldOffset(590)] + public byte hasNonTrivialCopyConstructor; + + [FieldOffset(591)] + public byte hasNonTrivialDestructor; + + [FieldOffset(592)] + public byte isExternCContext; + + [FieldOffset(593)] + public byte isInjected; + + [FieldOffset(600)] + public global::System.IntPtr layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] + internal static extern global::System.IntPtr GetBases_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] + internal static extern global::System.IntPtr GetFields_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); - set - { - __Internal.SetOpcodeStr_0((__Instance + __PointerAdjustment), value); - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + internal static extern void ClearFields_0(global::System.IntPtr instance); - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 72)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] + internal static extern global::System.IntPtr GetMethods_0(global::System.IntPtr instance, uint i); - [FieldOffset(8)] - public global::System.IntPtr decl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] + internal static extern void AddMethods_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(16)] - public global::Std.Cxx11.BasicString.__Internal String; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] + internal static extern void ClearMethods_0(global::System.IntPtr instance); - [FieldOffset(48)] - internal global::Std.Vector.__Internal Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] + internal static extern global::System.IntPtr GetSpecifiers_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] + internal static extern void AddSpecifiers_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] + internal static extern void ClearSpecifiers_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + internal static extern uint GetBasesCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] + internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] + internal static extern uint GetMethodsCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] + internal static extern uint GetSpecifiersCount_0(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.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new CallExpr(native.ToPointer(), skipVTables); + return new Class(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.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new CallExpr(native, skipVTables); + return new Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__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 CallExpr(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9844,10 +9139,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__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)) @@ -9858,7 +9162,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -9866,296 +9170,459 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) { - var __ret = __Internal.GetArguments_0((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; + var __ret = __Internal.GetBases_0((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __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.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.Expression 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_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBases_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearBases() { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.ClearBases_0((__Instance + __PointerAdjustment)); } - public uint ArgumentsCount + public global::CppSharp.Parser.AST.Field GetFields(uint i) { - get - { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } + var __ret = __Internal.GetFields_0((__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 unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 72)] - public new partial struct __Internal + public void AddFields(global::CppSharp.Parser.AST.Field s) { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(8)] - public global::System.IntPtr decl; + public void ClearFields() + { + __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(16)] - public global::Std.Cxx11.BasicString.__Internal String; + public global::CppSharp.Parser.AST.Method GetMethods(uint i) + { + var __ret = __Internal.GetMethods_0((__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(48)] - internal global::Std.Vector.__Internal Arguments; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + public void ClearMethods() + { + __Internal.ClearMethods_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + { + var __ret = __Internal.GetSpecifiers_0((__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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + public void ClearSpecifiers() + { + __Internal.ClearSpecifiers_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsPolymorphic { - return new CXXConstructExpr(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + public bool HasNonTrivialDefaultConstructor { - return new CXXConstructExpr(native, 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); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + public bool HasNonTrivialCopyConstructor { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + 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 CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool HasNonTrivialDestructor { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - protected CXXConstructExpr(void* native, bool skipVTables = false) - : base((void*) null) + public bool IsExternCContext { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + 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 CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) - : this((void*) null) + public bool IsInjected { - __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_1((__Instance + __PointerAdjustment), __arg0); + 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 override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.ClassLayout Layout { - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + 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 global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public uint BasesCount { - var __ret = __Internal.GetArguments_0((__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; + get + { + var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public uint FieldsCount { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public void ClearArguments() + public uint MethodsCount { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.GetMethodsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public uint ArgumentsCount + public uint SpecifiersCount { get { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecifiersCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class FunctionTemplateSpecialization : IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 248)] + public new partial struct __Internal { [FieldOffset(0)] - public global::System.IntPtr _template; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - internal global::Std.Vector.__Internal Arguments; + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; [FieldOffset(32)] - public global::System.IntPtr specializedFunction; + public global::Std.Cxx11.BasicString.__Internal Name; - [FieldOffset(40)] - public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(64)] + public global::Std.Cxx11.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + [FieldOffset(96)] + public global::Std.Cxx11.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(224)] + internal global::Std.Vector.__Internal Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + internal static extern void ctor_1(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] + internal static extern void cctor_3(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] + internal static extern global::System.IntPtr GetParameters_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] + internal static extern void AddParameters_0(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="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] + internal static extern void ClearParameters_0(global::System.IntPtr instance); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] + internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __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 FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + return new Template(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.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new FunctionTemplateSpecialization(native, skipVTables); + return new Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor_3(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__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 FunctionTemplateSpecialization(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplateSpecialization() + public Template(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.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public Template() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor_1((__Instance + __PointerAdjustment)); } - public void Dispose() + public Template(global::CppSharp.Parser.AST.Template _0) + : this((void*) null) { - Dispose(disposing: true); + __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_3((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -10163,88 +9630,66 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetParameters_0((__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 AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + 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.AddArguments_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddParameters_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearParameters() { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FunctionTemplate Template + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) { - 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; - } + return new global::CppSharp.Parser.AST.Template(kind); } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { 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); + 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.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; + ((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ArgumentsCount + public uint ParametersCount { get { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 216)] + [StructLayout(LayoutKind.Explicit, Size = 248)] public new partial struct __Internal { [FieldOffset(0)] @@ -10301,47 +9746,53 @@ namespace CppSharp [FieldOffset(208)] public global::System.IntPtr comment; + [FieldOffset(216)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(224)] + internal global::Std.Vector.__Internal Parameters; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __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 AccessSpecifierDecl(native.ToPointer(), skipVTables); + return new TypeAliasTemplate(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.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new AccessSpecifierDecl(native, skipVTables); + return new TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__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 AccessSpecifierDecl(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10350,19 +9801,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AccessSpecifierDecl() + public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10382,9 +9833,9 @@ namespace CppSharp } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 448)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] @@ -10411,164 +9862,86 @@ namespace CppSharp [FieldOffset(64)] public global::Std.Cxx11.BasicString.__Internal USR; - [FieldOffset(96)] - public global::Std.Cxx11.BasicString.__Internal DebugText; - - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] - public byte isDependent; - - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(200)] - public global::System.IntPtr originalPtr; - - [FieldOffset(208)] - public global::System.IntPtr comment; - - [FieldOffset(216)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(232)] - public byte isReturnIndirect; - - [FieldOffset(233)] - public byte hasThisReturn; - - [FieldOffset(234)] - public byte isConstExpr; - - [FieldOffset(235)] - public byte isVariadic; - - [FieldOffset(236)] - public byte isInline; - - [FieldOffset(237)] - public byte isPure; - - [FieldOffset(238)] - public byte isDeleted; - - [FieldOffset(240)] - public global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(244)] - public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(248)] - public global::Std.Cxx11.BasicString.__Internal Mangled; - - [FieldOffset(280)] - public global::Std.Cxx11.BasicString.__Internal Signature; - - [FieldOffset(312)] - public global::Std.Cxx11.BasicString.__Internal Body; - - [FieldOffset(344)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(352)] - internal global::Std.Vector.__Internal Parameters; - - [FieldOffset(376)] - public global::System.IntPtr specializationInfo; - - [FieldOffset(384)] - public global::System.IntPtr instantiatedFrom; - - [FieldOffset(392)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(96)] + public global::Std.Cxx11.BasicString.__Internal DebugText; - [FieldOffset(408)] - public byte isVirtual; + [FieldOffset(128)] + public byte isIncomplete; - [FieldOffset(409)] - public byte isStatic; + [FieldOffset(129)] + public byte isDependent; - [FieldOffset(410)] - public byte isConst; + [FieldOffset(130)] + public byte isImplicit; - [FieldOffset(411)] - public byte isExplicit; + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; - [FieldOffset(412)] - public byte isOverride; + [FieldOffset(144)] + public uint definitionOrder; - [FieldOffset(416)] - public global::CppSharp.Parser.AST.CXXMethodKind methodKind; + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; - [FieldOffset(420)] - public byte isDefaultConstructor; + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; - [FieldOffset(421)] - public byte isCopyConstructor; + [FieldOffset(200)] + public global::System.IntPtr originalPtr; - [FieldOffset(422)] - public byte isMoveConstructor; + [FieldOffset(208)] + public global::System.IntPtr comment; - [FieldOffset(424)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + [FieldOffset(216)] + public uint depth; - [FieldOffset(440)] - public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + [FieldOffset(220)] + public uint index; + + [FieldOffset(224)] + public byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] internal static extern void dtor_0(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.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Method(native.ToPointer(), skipVTables); + return new TemplateParameter(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.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new Method(native, skipVTables); + return new TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__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 Method(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10577,19 +9950,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public Method(global::CppSharp.Parser.AST.Method _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10608,305 +9981,411 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsVirtual + 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.Method.__Internal*) __Instance)->isVirtual != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth = value; } } - public bool IsStatic + public uint Index { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index = value; } } - public bool IsConst + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); } } + } - public bool IsExplicit + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit = (byte) (value ? 1 : 0); - } + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.Cxx11.BasicString.__Internal Name; + + [FieldOffset(64)] + public global::Std.Cxx11.BasicString.__Internal USR; + + [FieldOffset(96)] + public global::Std.Cxx11.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(224)] + internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(248)] + public byte isParameterPack; + + [FieldOffset(249)] + public byte isPackExpansion; + + [FieldOffset(250)] + public byte isExpandedParameterPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); } - public bool IsOverride + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride != 0; - } + return new TemplateTemplateParameter(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride = (byte) (value ? 1 : 0); - } + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + { + return new TemplateTemplateParameter(native, skipVTables); } - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind = value; - } + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TemplateTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TemplateTemplateParameter() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public bool IsDefaultConstructor + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__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_1((__Instance + __PointerAdjustment), __arg0); } - public bool IsCopyConstructor + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor = (byte) (value ? 1 : 0); - } + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public bool IsMoveConstructor + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public bool IsPackExpansion { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType); + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } 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.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier = value; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class BaseClassSpecifier : IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 248)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - public byte isVirtual; + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr type; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public int offset; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.Cxx11.BasicString.__Internal Name; + + [FieldOffset(64)] + public global::Std.Cxx11.BasicString.__Internal USR; + + [FieldOffset(96)] + public global::Std.Cxx11.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + public uint depth; + + [FieldOffset(220)] + public uint index; + + [FieldOffset(224)] + public byte isParameterPack; + + [FieldOffset(232)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] internal static extern void cctor_1(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="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] + internal static extern void dtor_0(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.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new BaseClassSpecifier(native.ToPointer(), skipVTables); + return new TypeTemplateParameter(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.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new BaseClassSpecifier(native, skipVTables); + return new TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__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.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__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 BaseClassSpecifier(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BaseClassSpecifier() + public TypeTemplateParameter() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__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_1((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - 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 - { - 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; - } - } - - public int Offset + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument); } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset = value; + ((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 Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 248)] public new partial struct __Internal @@ -10966,58 +10445,67 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public uint depth; + + [FieldOffset(220)] + public uint index; + + [FieldOffset(224)] + public byte isParameterPack; [FieldOffset(232)] - public global::System.IntPtr _class; + public global::System.IntPtr defaultArgument; [FieldOffset(240)] - public byte isBitField; + public uint position; [FieldOffset(244)] - public uint bitWidth; + public byte isPackExpansion; + + [FieldOffset(245)] + public byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] internal static extern void dtor_0(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.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Field(native.ToPointer(), skipVTables); + return new NonTypeTemplateParameter(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.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new Field(native, skipVTables); + return new NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__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 Field(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11026,19 +10514,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Field(global::CppSharp.Parser.AST.Field _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11057,67 +10545,67 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Expression DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType); + 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.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.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Class Class + public uint Position { 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.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position = value; } } - public bool IsBitField + public bool IsPackExpansion { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint BitWidth + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 272)] public new partial struct __Internal { [FieldOffset(0)] @@ -11175,55 +10663,75 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - public uint depth; - - [FieldOffset(220)] - public uint index; + public global::System.IntPtr TemplatedDecl; [FieldOffset(224)] - public byte isParameterPack; + internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(248)] + internal global::Std.Vector.__Internal Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] + internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount_0(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.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplate(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.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) { - return new TemplateParameter(native, skipVTables); + return new ClassTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11232,19 +10740,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public ClassTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) + public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11263,54 +10771,43 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + var __ret = __Internal.GetSpecializations_0((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public uint Depth + public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth = value; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public void ClearSpecializations() { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index = value; - } + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); } - public bool IsParameterPack + public uint SpecializationsCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 648)] public new partial struct __Internal { [FieldOffset(0)] @@ -11319,110 +10816,202 @@ namespace CppSharp [FieldOffset(4)] public global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.Cxx11.BasicString.__Internal Name; + + [FieldOffset(64)] + public global::Std.Cxx11.BasicString.__Internal USR; + + [FieldOffset(96)] + public global::Std.Cxx11.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(240)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(264)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(336)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(360)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(384)] + internal global::Std.Vector.__Internal Variables; - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(408)] + internal global::Std.Vector.__Internal Friends; - [FieldOffset(20)] - public int lineNumberStart; + [FieldOffset(432)] + internal global::Std.Map.__Internal anonymous; - [FieldOffset(24)] - public int lineNumberEnd; + [FieldOffset(480)] + public byte isAnonymous; - [FieldOffset(32)] - public global::Std.Cxx11.BasicString.__Internal Name; + [FieldOffset(488)] + internal global::Std.Vector.__Internal Bases; - [FieldOffset(64)] - public global::Std.Cxx11.BasicString.__Internal USR; + [FieldOffset(512)] + internal global::Std.Vector.__Internal Fields; - [FieldOffset(96)] - public global::Std.Cxx11.BasicString.__Internal DebugText; + [FieldOffset(536)] + internal global::Std.Vector.__Internal Methods; - [FieldOffset(128)] - public byte isIncomplete; + [FieldOffset(560)] + internal global::Std.Vector.__Internal Specifiers; - [FieldOffset(129)] - public byte isDependent; + [FieldOffset(584)] + public byte isPOD; - [FieldOffset(130)] - public byte isImplicit; + [FieldOffset(585)] + public byte isAbstract; - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; + [FieldOffset(586)] + public byte isUnion; - [FieldOffset(144)] - public uint definitionOrder; + [FieldOffset(587)] + public byte isDynamic; - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; + [FieldOffset(588)] + public byte isPolymorphic; - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; + [FieldOffset(589)] + public byte hasNonTrivialDefaultConstructor; - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + [FieldOffset(590)] + public byte hasNonTrivialCopyConstructor; - [FieldOffset(208)] - public global::System.IntPtr comment; + [FieldOffset(591)] + public byte hasNonTrivialDestructor; - [FieldOffset(216)] - public global::System.IntPtr TemplatedDecl; + [FieldOffset(592)] + public byte isExternCContext; - [FieldOffset(224)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(593)] + public byte isInjected; - [FieldOffset(248)] - public byte isParameterPack; + [FieldOffset(600)] + public global::System.IntPtr layout; - [FieldOffset(249)] - public byte isPackExpansion; + [FieldOffset(608)] + public global::System.IntPtr templatedDecl; - [FieldOffset(250)] - public byte isExpandedParameterPack; + [FieldOffset(616)] + internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(640)] + public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(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.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplateSpecialization(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.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new TemplateTemplateParameter(native, skipVTables); + return new ClassTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11431,19 +11020,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11462,49 +11051,70 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsParameterPack + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + global::CppSharp.Parser.AST.ClassTemplate __result0; + if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsPackExpansion + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; } } - public bool IsExpandedParameterPack + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 248)] + [StructLayout(LayoutKind.Explicit, Size = 648)] public new partial struct __Internal { [FieldOffset(0)] @@ -11561,68 +11171,134 @@ namespace CppSharp [FieldOffset(208)] public global::System.IntPtr comment; - [FieldOffset(216)] - public uint depth; + [FieldOffset(216)] + internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(240)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(264)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(336)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(360)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(384)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(408)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(432)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(480)] + public byte isAnonymous; + + [FieldOffset(488)] + internal global::Std.Vector.__Internal Bases; + + [FieldOffset(512)] + internal global::Std.Vector.__Internal Fields; + + [FieldOffset(536)] + internal global::Std.Vector.__Internal Methods; + + [FieldOffset(560)] + internal global::Std.Vector.__Internal Specifiers; + + [FieldOffset(584)] + public byte isPOD; + + [FieldOffset(585)] + public byte isAbstract; + + [FieldOffset(586)] + public byte isUnion; + + [FieldOffset(587)] + public byte isDynamic; + + [FieldOffset(588)] + public byte isPolymorphic; + + [FieldOffset(589)] + public byte hasNonTrivialDefaultConstructor; + + [FieldOffset(590)] + public byte hasNonTrivialCopyConstructor; + + [FieldOffset(591)] + public byte hasNonTrivialDestructor; - [FieldOffset(220)] - public uint index; + [FieldOffset(592)] + public byte isExternCContext; - [FieldOffset(224)] - public byte isParameterPack; + [FieldOffset(593)] + public byte isInjected; - [FieldOffset(232)] - public global::System.IntPtr defaultArgument; + [FieldOffset(600)] + public global::System.IntPtr layout; - [FieldOffset(240)] - public uint position; + [FieldOffset(608)] + public global::System.IntPtr templatedDecl; - [FieldOffset(244)] - public byte isPackExpansion; + [FieldOffset(616)] + internal global::Std.Vector.__Internal Arguments; - [FieldOffset(245)] - public byte isExpandedParameterPack; + [FieldOffset(640)] + public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] internal static extern void dtor_0(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.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplatePartialSpecialization(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.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new NonTypeTemplateParameter(native, skipVTables); + return new ClassTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11631,19 +11307,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11661,68 +11337,11 @@ namespace CppSharp if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - - 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 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); - } - } } - public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 648)] + [StructLayout(LayoutKind.Explicit, Size = 272)] public new partial struct __Internal { [FieldOffset(0)] @@ -11780,174 +11399,251 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - internal global::Std.Vector.__Internal Namespaces; - - [FieldOffset(240)] - internal global::Std.Vector.__Internal Enums; - - [FieldOffset(264)] - internal global::Std.Vector.__Internal Functions; - - [FieldOffset(288)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(312)] - internal global::Std.Vector.__Internal Templates; + public global::System.IntPtr TemplatedDecl; - [FieldOffset(336)] - internal global::Std.Vector.__Internal Typedefs; + [FieldOffset(224)] + internal global::Std.Vector.__Internal Parameters; - [FieldOffset(360)] - internal global::Std.Vector.__Internal TypeAliases; + [FieldOffset(248)] + internal global::Std.Vector.__Internal Specializations; - [FieldOffset(384)] - internal global::Std.Vector.__Internal Variables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(408)] - internal global::Std.Vector.__Internal Friends; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(432)] - internal global::Std.Map.__Internal anonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(480)] - public byte isAnonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); - [FieldOffset(488)] - internal global::Std.Vector.__Internal Bases; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] + internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(512)] - internal global::Std.Vector.__Internal Fields; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); - [FieldOffset(536)] - internal global::Std.Vector.__Internal Methods; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); + } - [FieldOffset(560)] - internal global::Std.Vector.__Internal Specifiers; + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new FunctionTemplate(native.ToPointer(), skipVTables); + } - [FieldOffset(584)] - public byte isPOD; + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + { + return new FunctionTemplate(native, skipVTables); + } - [FieldOffset(585)] - public byte isAbstract; + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(586)] - public byte isUnion; + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(587)] - public byte isDynamic; + protected FunctionTemplate(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(588)] - public byte isPolymorphic; + public FunctionTemplate() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(589)] - public byte hasNonTrivialDefaultConstructor; + 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_1((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(590)] - public byte hasNonTrivialCopyConstructor; + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - [FieldOffset(591)] - public byte hasNonTrivialDestructor; + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations_0((__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(592)] - public byte isExternCContext; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(593)] - public byte isInjected; + public void ClearSpecializations() + { + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(600)] - public global::System.IntPtr layout; + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(608)] - public global::System.IntPtr templatedDecl; + public unsafe partial class FunctionTemplateSpecialization : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::System.IntPtr _template; - [FieldOffset(616)] + [FieldOffset(8)] internal global::Std.Vector.__Internal Arguments; - [FieldOffset(640)] + [FieldOffset(32)] + public global::System.IntPtr specializedFunction; + + [FieldOffset(40)] public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __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 ClassTemplateSpecialization(native.ToPointer(), skipVTables); + return new FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__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 ClassTemplateSpecialization(native, skipVTables); + return new FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__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 ClassTemplateSpecialization(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 ClassTemplateSpecialization() - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11956,9 +11652,14 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -11986,21 +11687,39 @@ namespace CppSharp __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + public global::CppSharp.Parser.AST.FunctionTemplate Template { get { - global::CppSharp.Parser.AST.ClassTemplate __result0; - if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + 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.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl = 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; } } @@ -12008,12 +11727,12 @@ namespace CppSharp { get { - return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; } } @@ -12027,9 +11746,9 @@ namespace CppSharp } } - public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 648)] + [StructLayout(LayoutKind.Explicit, Size = 272)] public new partial struct __Internal { [FieldOffset(0)] @@ -12087,133 +11806,75 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - internal global::Std.Vector.__Internal Namespaces; - - [FieldOffset(240)] - internal global::Std.Vector.__Internal Enums; - - [FieldOffset(264)] - internal global::Std.Vector.__Internal Functions; - - [FieldOffset(288)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(312)] - internal global::Std.Vector.__Internal Templates; - - [FieldOffset(336)] - internal global::Std.Vector.__Internal Typedefs; - - [FieldOffset(360)] - internal global::Std.Vector.__Internal TypeAliases; - - [FieldOffset(384)] - internal global::Std.Vector.__Internal Variables; - - [FieldOffset(408)] - internal global::Std.Vector.__Internal Friends; - - [FieldOffset(432)] - internal global::Std.Map.__Internal anonymous; - - [FieldOffset(480)] - public byte isAnonymous; - - [FieldOffset(488)] - internal global::Std.Vector.__Internal Bases; - - [FieldOffset(512)] - internal global::Std.Vector.__Internal Fields; - - [FieldOffset(536)] - internal global::Std.Vector.__Internal Methods; - - [FieldOffset(560)] - internal global::Std.Vector.__Internal Specifiers; - - [FieldOffset(584)] - public byte isPOD; - - [FieldOffset(585)] - public byte isAbstract; - - [FieldOffset(586)] - public byte isUnion; - - [FieldOffset(587)] - public byte isDynamic; - - [FieldOffset(588)] - public byte isPolymorphic; - - [FieldOffset(589)] - public byte hasNonTrivialDefaultConstructor; - - [FieldOffset(590)] - public byte hasNonTrivialCopyConstructor; - - [FieldOffset(591)] - public byte hasNonTrivialDestructor; + public global::System.IntPtr TemplatedDecl; - [FieldOffset(592)] - public byte isExternCContext; + [FieldOffset(224)] + internal global::Std.Vector.__Internal Parameters; - [FieldOffset(593)] - public byte isInjected; + [FieldOffset(248)] + internal global::Std.Vector.__Internal Specializations; - [FieldOffset(600)] - public global::System.IntPtr layout; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(608)] - public global::System.IntPtr templatedDecl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(616)] - internal global::Std.Vector.__Internal Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(640)] - public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] + internal static extern void AddSpecializations_0(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_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount_0(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.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new VarTemplate(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.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new ClassTemplatePartialSpecialization(native, skipVTables); + return new VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__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 ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12222,19 +11883,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12252,6 +11913,39 @@ namespace CppSharp if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + } + + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } } public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable @@ -12644,9 +12338,9 @@ namespace CppSharp } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 272)] + [StructLayout(LayoutKind.Explicit, Size = 488)] public new partial struct __Internal { [FieldOffset(0)] @@ -12704,144 +12398,264 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - public global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internal Namespaces; - [FieldOffset(224)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(240)] + internal global::Std.Vector.__Internal Enums; - [FieldOffset(248)] - internal global::Std.Vector.__Internal Specializations; + [FieldOffset(264)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(336)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(360)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(384)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(408)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(432)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(480)] + public byte isAnonymous; + + [FieldOffset(481)] + public byte isInline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Namespace(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] - internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + { + return new Namespace(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Namespace(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Namespace() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Namespace(global::CppSharp.Parser.AST.Namespace _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class PreprocessedEntity : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] + public global::System.IntPtr originalPtr; + + [FieldOffset(16)] + public global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.VarTemplate __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.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new VarTemplate(native.ToPointer(), skipVTables); + return new PreprocessedEntity(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.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) { - return new VarTemplate(native, skipVTables); + return new PreprocessedEntity(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; return ret.ToPointer(); } - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected PreprocessedEntity(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VarTemplate() - : this((void*) null) + public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) - : this((void*) null) + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__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_1((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { - var __ret = __Internal.GetSpecializations_0((__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; - } + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; + } - 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_0((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation = value; + } } - public void ClearSpecializations() + public global::System.IntPtr OriginalPtr { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; + } + + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.DeclarationKind Kind { get { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind = value; } } } @@ -16422,6 +16236,192 @@ namespace CppSharp } } } + + public unsafe partial class RawComment : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.RawCommentKind kind; + + [FieldOffset(8)] + public global::Std.Cxx11.BasicString.__Internal Text; + + [FieldOffset(40)] + public global::Std.Cxx11.BasicString.__Internal BriefText; + + [FieldOffset(72)] + public global::System.IntPtr fullCommentBlock; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7getTextEv")] + internal static extern global::System.IntPtr Text_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc")] + internal static extern void SetText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv")] + internal static extern global::System.IntPtr BriefText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc")] + internal static extern void SetBriefText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } + + 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 RawComment(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + { + return new RawComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected RawComment(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public RawComment() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public RawComment(global::CppSharp.Parser.AST.RawComment _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.RawComment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + 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 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; + } + } + + public string Text + { + get + { + var __ret = __Internal.Text_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetText_0((__Instance + __PointerAdjustment), value); + } + } + + public string BriefText + { + get + { + var __ret = __Internal.BriefText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBriefText_0((__Instance + __PointerAdjustment), value); + } + } + } } } } 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 5c8274e2..32c190f9 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 @@ -669,525 +669,569 @@ 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 = 16)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(40)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(56)] - public byte isIncomplete; - - [FieldOffset(57)] public byte isDependent; - [FieldOffset(58)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - public uint definitionOrder; - - [FieldOffset(80)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(104)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(128)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; + [FieldOffset(8)] + public global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + internal static extern void cctor_2(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_0(global::System.IntPtr instance); + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TagType(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] - internal static extern global::System.IntPtr GetPreprocessedEntities_0(global::System.IntPtr instance, uint i); + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + { + return new TagType(native, skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] - internal static extern void AddPreprocessedEntities_0(global::System.IntPtr instance, global::System.IntPtr s); + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] - internal static extern void ClearPreprocessedEntities_0(global::System.IntPtr instance); + private TagType(global::CppSharp.Parser.AST.TagType.__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="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] - internal static extern global::System.IntPtr GetRedeclarations_0(global::System.IntPtr instance, uint i); + protected TagType(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="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] - internal static extern void AddRedeclarations_0(global::System.IntPtr instance, global::System.IntPtr s); + public TagType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] - internal static extern void ClearRedeclarations_0(global::System.IntPtr instance); + 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_2((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7getNameEv")] - internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc")] - internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6getUSREv")] - internal static extern global::System.IntPtr USR_0(global::System.IntPtr instance); + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6setUSREPKc")] - internal static extern void SetUSR_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(4)] + public byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv")] - internal static extern global::System.IntPtr DebugText_0(global::System.IntPtr instance); + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc")] - internal static extern void SetDebugText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(24)] + public global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + + [FieldOffset(32)] + public long size; + + [FieldOffset(40)] + public long elementSize; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] - internal static extern uint GetPreprocessedEntitiesCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] - internal static extern uint GetRedeclarationsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + internal static extern void cctor_2(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; + 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 Declaration(native.ToPointer(), skipVTables); + return new 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 Declaration(native, skipVTables); + return new 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_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(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_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__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)) throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); var __arg0 = _0.__Instance; - __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - Dispose(disposing: true); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 virtual void Dispose(bool disposing) + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType = value; + } } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + public long Size { - var __ret = __Internal.GetPreprocessedEntities_0((__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)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size = value; + } } - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + public long ElementSize { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize = value; + } } + } - public void ClearPreprocessedEntities() + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { - __Internal.ClearPreprocessedEntities_0((__Instance + __PointerAdjustment)); + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + public byte isDependent; + + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(24)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(28)] + public global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(32)] + internal global::Std.Vector.__Internal Parameters; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] + internal static extern global::System.IntPtr GetParameters_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] + internal static extern uint GetParametersCount_0(global::System.IntPtr instance); } - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetRedeclarations_0((__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; + return new FunctionType(native.ToPointer(), skipVTables); } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__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.AddRedeclarations_0((__Instance + __PointerAdjustment), __arg0); + return new FunctionType(native, skipVTables); } - public void ClearRedeclarations() + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - __Internal.ClearRedeclarations_0((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - return new global::CppSharp.Parser.AST.Declaration(kind); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.DeclarationKind Kind + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind = value; - } + public FunctionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; - } + __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_1((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access = value; - } + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - 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; - } + var __ret = __Internal.GetParameters_0((__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; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.SourceLocation Location + public void ClearParameters() + { + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + } + + 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(((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 bool IsIncomplete + public uint ParametersCount { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete = (byte) (value ? 1 : 0); + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; } } + } - public bool IsDependent + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent = (byte) (value ? 1 : 0); - } - } + [FieldOffset(4)] + public byte isDependent; - public bool IsImplicit - { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; - } + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit = (byte) (value ? 1 : 0); - } - } + [FieldOffset(24)] + public global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration - { - 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; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - public uint DefinitionOrder + public enum TypeModifier { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder = value; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 } - public global::System.IntPtr OriginalPtr + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; - } + return new PointerType(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.RawComment Comment + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - 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; - } + return new PointerType(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public string Name + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - __Internal.SetName_0((__Instance + __PointerAdjustment), value); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public string USR + public PointerType() + : this((void*) null) { - get - { - var __ret = __Internal.USR_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - set - { - __Internal.SetUSR_0((__Instance + __PointerAdjustment), value); - } + 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_2((__Instance + __PointerAdjustment), __arg0); } - public string DebugText + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - var __ret = __Internal.DebugText_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee); } set { - __Internal.SetDebugText_0((__Instance + __PointerAdjustment), value); + ((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 uint PreprocessedEntitiesCount + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - var __ret = __Internal.GetPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } - } - public uint RedeclarationsCount - { - get + set { - var __ret = __Internal.GetRedeclarationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier = value; } } } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { [FieldOffset(0)] @@ -1197,44 +1241,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr declaration; + public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TagType(native.ToPointer(), skipVTables); + return new MemberPointerType(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.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) { - return new TagType(native, skipVTables); + return new MemberPointerType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TagType(void* native, bool skipVTables = false) + protected MemberPointerType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1243,19 +1287,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TagType() + public MemberPointerType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TagType(global::CppSharp.Parser.AST.TagType _0) + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1264,28 +1308,23 @@ namespace CppSharp __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.QualifiedType Pointee { 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(((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee); } set { - ((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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 ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] @@ -1295,61 +1334,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(24)] - public global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(32)] - public long size; - - [FieldOffset(40)] - public long elementSize; + public global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - public enum ArraySize + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + return new TypedefType(native.ToPointer(), skipVTables); } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new ArrayType(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.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) { - return new ArrayType(native, skipVTables); + return new TypedefType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ArrayType(void* native, bool skipVTables = false) + protected TypedefType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1358,19 +1380,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ArrayType() + public TypedefType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1379,174 +1401,78 @@ namespace CppSharp __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size = value; - } - } - - public long ElementSize + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + 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.ArrayType.__Internal*) __Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 176)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; + public global::CppSharp.Parser.AST.QualifiedType.__Internal modified; [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(40)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(56)] - public byte isIncomplete; - - [FieldOffset(57)] - public byte isDependent; - - [FieldOffset(58)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - public uint definitionOrder; - - [FieldOffset(80)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(104)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(128)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; - - [FieldOffset(144)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(160)] - public byte isIndirect; - - [FieldOffset(161)] - public byte hasDefaultValue; - - [FieldOffset(164)] - public uint index; - - [FieldOffset(168)] - public global::System.IntPtr defaultArgument; + public global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Parameter(native.ToPointer(), skipVTables); + return new AttributedType(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.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) { - return new Parameter(native, skipVTables); + return new AttributedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Parameter(void* native, bool skipVTables = false) + protected AttributedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1555,109 +1481,55 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Parameter() + public AttributedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Parameter(global::CppSharp.Parser.AST.Parameter _0) + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue = (byte) (value ? 1 : 0); - } + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public global::CppSharp.Parser.AST.QualifiedType Modified { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified); } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index = value; + ((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; } } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public global::CppSharp.Parser.AST.QualifiedType Equivalent { 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; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent); } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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; } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal @@ -1669,78 +1541,50 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + public global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; [FieldOffset(24)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; + public global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [FieldOffset(28)] - public global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; - - [FieldOffset(32)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(40)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj")] - internal static extern global::System.IntPtr GetParameters_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] - internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.FunctionType __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 FunctionType(native.ToPointer(), skipVTables); + return new DecayedType(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.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new FunctionType(native, skipVTables); + return new DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__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 FunctionType(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1749,423 +1593,314 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionType() + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.QualifiedType Decayed { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed); } 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.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.CallingConvention CallingConvention + public global::CppSharp.Parser.AST.QualifiedType Original { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original); } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention = value; + ((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.ExceptionSpecType ExceptionSpecType + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee); } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType = value; - } - } - - public uint ParametersCount - { - get - { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); - return __ret; + ((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 unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateArgument : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + public global::CppSharp.Parser.AST.QualifiedType.__Internal type; [FieldOffset(24)] - public global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + public global::System.IntPtr declaration; + + [FieldOffset(32)] + public long integral; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - public enum TypeModifier + public enum ArgumentKind { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - internal static new global::CppSharp.Parser.AST.PointerType __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.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new PointerType(native.ToPointer(), skipVTables); + return new TemplateArgument(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.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - return new PointerType(native, skipVTables); + return new TemplateArgument(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; return ret.ToPointer(); } - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PointerType(void* native, bool skipVTables = false) - : base((void*) null) + protected TemplateArgument(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PointerType() - : this((void*) null) + public TemplateArgument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public PointerType(global::CppSharp.Parser.AST.PointerType _0) - : this((void*) null) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__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_2((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee); + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->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; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind = value; } } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier + public global::CppSharp.Parser.AST.QualifiedType Type { get { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type); } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier = value; + ((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 unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal + public global::CppSharp.Parser.AST.Declaration Declaration { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] - internal static extern void cctor_2(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 MemberPointerType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) - { - return new 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_2(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_0((__Instance + __PointerAdjustment)); - } - - 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_2((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public long Integral { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee); + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; } 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.TemplateArgument.__Internal*) __Instance)->integral = value; } } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; + internal global::Std.Vector.__Internal Arguments; [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; + public global::System.IntPtr _template; [FieldOffset(40)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(56)] - public byte isIncomplete; - - [FieldOffset(57)] - public byte isDependent; - - [FieldOffset(58)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - public uint definitionOrder; - - [FieldOffset(80)] - internal global::Std.Vector.__Internal PreprocessedEntities; + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(104)] - internal global::Std.Vector.__Internal Redeclarations; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(128)] - public global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(136)] - public global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(144)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypedefNameDecl(native.ToPointer(), skipVTables); + return new TemplateSpecializationType(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.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new TypedefNameDecl(native, skipVTables); + return new TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__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 TypedefNameDecl(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2174,19 +1909,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2197,7 +1932,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -2205,28 +1940,70 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public global::CppSharp.Parser.AST.QualifiedType 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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType); + 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.TypedefNameDecl.__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.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(((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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] @@ -2236,44 +2013,72 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr declaration; + internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(32)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new TypedefType(native.ToPointer(), skipVTables); - } + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] + internal static extern void GetArguments_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + } + + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypedefType(native, skipVTables); + return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__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.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return new 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_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__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 TypedefType(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2282,49 +2087,83 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefType() + public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared { 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.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -2334,47 +2173,58 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + public global::System.IntPtr parameter; + + [FieldOffset(16)] + public uint depth; + + [FieldOffset(20)] + public uint index; [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + public byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + internal static extern void dtor_0(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.TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new AttributedType(native.ToPointer(), skipVTables); + return new TemplateParameterType(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.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new AttributedType(native, skipVTables); + return new TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__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 AttributedType(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2383,57 +2233,98 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified); + 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.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.TemplateParameterType.__Internal*) __Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType Equivalent + public uint Depth { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent); + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; } 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.TemplateParameterType.__Internal*) __Instance)->depth = value; + } + } + + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index = value; + } + } + + public bool IsParameterPack + { + get + { + 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 DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -2443,50 +2334,47 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + public global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal original; - - [FieldOffset(40)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + public global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DecayedType __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 DecayedType(native.ToPointer(), skipVTables); + return new TemplateParameterSubstitutionType(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.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new DecayedType(native, skipVTables); + return new TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__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 DecayedType(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2495,19 +2383,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2516,343 +2404,375 @@ namespace CppSharp __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed + public global::CppSharp.Parser.AST.QualifiedType Replacement { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement); } 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(((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; + ((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.QualifiedType Pointee + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee); + 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.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.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class TemplateArgument : IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal type; + public global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; [FieldOffset(24)] - public global::System.IntPtr declaration; - - [FieldOffset(32)] - public long integral; + public global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_")] - internal static extern void cctor_1(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 + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] + internal static extern void cctor_2(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.TemplateArgument __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 TemplateArgument(native.ToPointer(), skipVTables); + return new InjectedClassNameType(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.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new TemplateArgument(native, skipVTables); + return new InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__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.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__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 TemplateArgument(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public InjectedClassNameType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__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) - { - global::CppSharp.Parser.AST.TemplateArgument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__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_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType); } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind = value; + ((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 global::CppSharp.Parser.AST.QualifiedType Type + public global::CppSharp.Parser.AST.Class Class { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type); + 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.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.InjectedClassNameType.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } + } - public global::CppSharp.Parser.AST.Declaration Declaration + public unsafe partial class DependentNameType : 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.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; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + [FieldOffset(4)] + public byte isDependent; + + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - public long Integral + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new DependentNameType(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + { + return new DependentNameType(native, skipVTables); + } + + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DependentNameType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DependentNameType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + 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_2((__Instance + __PointerAdjustment), __arg0); + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral = value; + ((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } } - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 176)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; + public byte isDependent; - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(20)] - public int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(40)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(56)] - public byte isIncomplete; - - [FieldOffset(57)] - public byte isDependent; + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new PackExpansionType(native.ToPointer(), skipVTables); + } - [FieldOffset(58)] - public byte isImplicit; + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + { + return new PackExpansionType(native, skipVTables); + } - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; + 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_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(72)] - public uint definitionOrder; + private PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(80)] - internal global::Std.Vector.__Internal PreprocessedEntities; + protected PackExpansionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(104)] - internal global::Std.Vector.__Internal Redeclarations; + public PackExpansionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(128)] - public global::System.IntPtr originalPtr; + 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_2((__Instance + __PointerAdjustment), __arg0); + } + } - [FieldOffset(136)] - public global::System.IntPtr comment; + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(144)] - public global::System.IntPtr TemplatedDecl; + [FieldOffset(4)] + public byte isDependent; - [FieldOffset(152)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + [FieldOffset(24)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] - internal static extern void ctor_1(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] - internal static extern global::System.IntPtr GetParameters_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] - internal static extern uint GetParametersCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Template __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 Template(native.ToPointer(), skipVTables); + return new UnaryTransformType(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.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) { - return new Template(native, skipVTables); + return new UnaryTransformType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); - global::CppSharp.Parser.AST.Template.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Template(global::CppSharp.Parser.AST.Template.__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 Template(void* native, bool skipVTables = false) + protected UnaryTransformType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2861,28 +2781,19 @@ namespace CppSharp __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_0((__Instance + __PointerAdjustment), kind); - } - - public Template() + public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_1((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Template(global::CppSharp.Parser.AST.Template _0) + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2891,76 +2802,36 @@ namespace CppSharp __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__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 global::CppSharp.Parser.AST.QualifiedType Desugared { 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.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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 uint ParametersCount + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType); + } + + 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; } } } - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -2970,75 +2841,47 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - internal global::Std.Vector.__Internal Arguments; - - [FieldOffset(32)] - public global::System.IntPtr _template; + public global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - [FieldOffset(40)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(24)] + public uint numElements; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] + internal static extern void cctor_2(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_0(global::System.IntPtr instance); + internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new VectorType(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments_0(global::System.IntPtr @return, 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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new TemplateSpecializationType(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.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) { - return new TemplateSpecializationType(native, skipVTables); + return new VectorType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) + protected VectorType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -3047,101 +2890,57 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() + public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Template Template + public global::CppSharp.Parser.AST.QualifiedType ElementType { 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.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType); } set { - ((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->_template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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; } } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public uint NumElements { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared); + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; } 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_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements = value; } } } - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] @@ -3151,72 +2950,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - internal global::Std.Vector.__Internal Arguments; - - [FieldOffset(32)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + public global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj")] - internal static extern void GetArguments_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new BuiltinType(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.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) { - return new DependentTemplateSpecializationType(native, skipVTables); + return new BuiltinType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + protected BuiltinType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -3225,330 +2996,273 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentTemplateSpecializationType() + public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Desugared + public global::CppSharp.Parser.AST.PrimitiveType Type { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared); + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; } 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_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type = value; } } } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class VTableComponent : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 176)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.VTableComponentKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public uint offset; [FieldOffset(8)] - public global::System.IntPtr _namespace; + public global::System.IntPtr declaration; - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(20)] - public int lineNumberStart; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(24)] - public int lineNumberEnd; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [FieldOffset(40)] - public global::Std.BasicString.__Internal USR; + protected bool __ownsNativeInstance; - [FieldOffset(48)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(56)] - public byte isIncomplete; - - [FieldOffset(57)] - public byte isDependent; - - [FieldOffset(58)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - public uint definitionOrder; - - [FieldOffset(80)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(104)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(128)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; - - [FieldOffset(144)] - public uint depth; - - [FieldOffset(148)] - public uint index; - - [FieldOffset(152)] - public byte isParameterPack; - - [FieldOffset(160)] - public 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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypeTemplateParameter(native.ToPointer(), skipVTables); + return new VTableComponent(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.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - return new TypeTemplateParameter(native, skipVTables); + return new VTableComponent(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(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 TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__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 TypeTemplateParameter(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 TypeTemplateParameter() - : this((void*) null) + public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__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_1((__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() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VTableComponent __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public global::CppSharp.Parser.AST.VTableComponentKind Kind { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; } 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.VTableComponent.__Internal*) __Instance)->kind = value; } } - } - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + public uint Offset { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + } - [FieldOffset(8)] - public global::System.IntPtr parameter; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset = value; + } + } - [FieldOffset(16)] - public uint depth; + 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(20)] - public uint index; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(24)] - public byte isParameterPack; + public unsafe partial class VTableLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.Vector.__Internal Components; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] internal static extern void dtor_0(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_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] + internal static extern uint GetComponentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __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 TemplateParameterType(native.ToPointer(), skipVTables); + return new VTableLayout(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.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) { - return new TemplateParameterType(native, skipVTables); + return new VTableLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__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 TemplateParameterType(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 TemplateParameterType() - : this((void*) null) + public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) - : this((void*) null) + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3557,9 +3271,14 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Type __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VTableLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -3567,1588 +3286,292 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter + public global::CppSharp.Parser.AST.VTableComponent GetComponents(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; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + var __ret = __Internal.GetComponents_0((__Instance + __PointerAdjustment), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); } - public uint Depth + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth = value; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public void ClearComponents() { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index = value; - } + __Internal.ClearComponents_0((__Instance + __PointerAdjustment)); } - public bool IsParameterPack + public uint ComponentsCount { 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.GetComponentsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VFTableInfo : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + public ulong VBTableIndex; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + public uint VFPtrOffset; - [FieldOffset(24)] - public global::System.IntPtr replacedParameter; + [FieldOffset(12)] + public uint VFPtrFullOffset; + + [FieldOffset(16)] + public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __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 TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + return new VFTableInfo(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.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - return new TemplateParameterSubstitutionType(native, skipVTables); + return new VFTableInfo(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__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 TemplateParameterSubstitutionType(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 TemplateParameterSubstitutionType() - : this((void*) null) + public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) - : this((void*) null) + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VFTableInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public ulong VBTableIndex { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement); + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; } 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; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex = value; } } - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public uint VFPtrOffset { 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; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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(((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 Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class LayoutField : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 536)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public uint offset; [FieldOffset(8)] - public global::System.IntPtr _namespace; + public global::Std.BasicString.__Internal Name; [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; + public global::System.IntPtr fieldPtr; - [FieldOffset(40)] - public global::Std.BasicString.__Internal USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(48)] - public global::Std.BasicString.__Internal DebugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr other); - [FieldOffset(56)] - public byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(57)] - public byte isDependent; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7getNameEv")] + internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); - [FieldOffset(58)] - public byte isImplicit; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7setNameEPKc")] + internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(72)] - public uint definitionOrder; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [FieldOffset(80)] - internal global::Std.Vector.__Internal PreprocessedEntities; + protected bool __ownsNativeInstance; - [FieldOffset(104)] - internal global::Std.Vector.__Internal Redeclarations; + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new LayoutField(native.ToPointer(), skipVTables); + } - [FieldOffset(128)] - public global::System.IntPtr originalPtr; + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + { + return new LayoutField(native, skipVTables); + } - [FieldOffset(136)] - public global::System.IntPtr comment; + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(144)] - internal global::Std.Vector.__Internal Namespaces; + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(168)] - internal global::Std.Vector.__Internal Enums; - - [FieldOffset(192)] - internal global::Std.Vector.__Internal Functions; - - [FieldOffset(216)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(240)] - internal global::Std.Vector.__Internal Templates; - - [FieldOffset(264)] - internal global::Std.Vector.__Internal Typedefs; - - [FieldOffset(288)] - internal global::Std.Vector.__Internal TypeAliases; - - [FieldOffset(312)] - internal global::Std.Vector.__Internal Variables; - - [FieldOffset(336)] - internal global::Std.Vector.__Internal Friends; - - [FieldOffset(360)] - internal global::Std.Map.__Internal anonymous; - - [FieldOffset(408)] - public byte isAnonymous; - - [FieldOffset(416)] - internal global::Std.Vector.__Internal Bases; - - [FieldOffset(440)] - internal global::Std.Vector.__Internal Fields; - - [FieldOffset(464)] - internal global::Std.Vector.__Internal Methods; - - [FieldOffset(488)] - internal global::Std.Vector.__Internal Specifiers; - - [FieldOffset(512)] - public byte isPOD; - - [FieldOffset(513)] - public byte isAbstract; - - [FieldOffset(514)] - public byte isUnion; - - [FieldOffset(515)] - public byte isDynamic; - - [FieldOffset(516)] - public byte isPolymorphic; - - [FieldOffset(517)] - public byte hasNonTrivialDefaultConstructor; - - [FieldOffset(518)] - public byte hasNonTrivialCopyConstructor; - - [FieldOffset(519)] - public byte hasNonTrivialDestructor; - - [FieldOffset(520)] - public byte isExternCContext; - - [FieldOffset(521)] - public byte isInjected; - - [FieldOffset(528)] - public global::System.IntPtr layout; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] - internal static extern global::System.IntPtr GetBases_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] - internal static extern global::System.IntPtr GetFields_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] - internal static extern global::System.IntPtr GetMethods_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] - internal static extern global::System.IntPtr GetSpecifiers_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] - internal static extern uint GetBasesCount_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] - internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] - internal static extern uint GetMethodsCount_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] - internal static extern uint GetSpecifiersCount_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new Class(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) - { - return new 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) - { - var __ret = __Internal.GetBases_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearBases() - { - __Internal.ClearBases_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Field GetFields(uint i) - { - var __ret = __Internal.GetFields_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFields() - { - __Internal.ClearFields_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Method GetMethods(uint i) - { - var __ret = __Internal.GetMethods_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMethods() - { - __Internal.ClearMethods_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) - { - var __ret = __Internal.GetSpecifiers_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecifiers() - { - __Internal.ClearSpecifiers_0((__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_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint MethodsCount - { - get - { - var __ret = __Internal.GetMethodsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint SpecifiersCount - { - get - { - var __ret = __Internal.GetSpecifiersCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - - [FieldOffset(24)] - public global::System.IntPtr _class; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new InjectedClassNameType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) - { - return new InjectedClassNameType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected InjectedClassNameType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public InjectedClassNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.Class Class - { - 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 DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new DependentNameType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - { - return new DependentNameType(native, skipVTables); - } - - 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_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected DependentNameType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public DependentNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - 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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared); - } - - set - { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } - - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] - internal static extern void cctor_2(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 PackExpansionType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - { - return new 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_2(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_0((__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_2((__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)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new UnaryTransformType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) - { - return new UnaryTransformType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected UnaryTransformType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public UnaryTransformType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.QualifiedType BaseType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType); - } - - 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; - } - } - } - - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - - [FieldOffset(24)] - public uint numElements; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new VectorType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) - { - return new VectorType(native, skipVTables); - } - - 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_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VectorType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public VectorType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - 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_2((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType ElementType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType); - } - - 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; - } - } - - public uint NumElements - { - get - { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; - } - - set - { - ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements = value; - } - } - } - - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.PrimitiveType type; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] - internal static extern void cctor_2(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 BuiltinType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - { - return new 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_2(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_0((__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_2((__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 VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.VTableComponentKind kind; - - [FieldOffset(4)] - public uint offset; - - [FieldOffset(8)] - public global::System.IntPtr declaration; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_")] - internal static extern void cctor_1(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 VTableComponent(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) - { - return new 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_0((__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) - { - global::CppSharp.Parser.AST.VTableComponent __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - 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 VTableLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.Vector.__Internal Components; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_")] - internal static extern void cctor_1(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_0(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_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv")] - internal static extern uint GetComponentsCount_0(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 VTableLayout(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - { - return new 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_1(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) + protected LayoutField(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VTableLayout() + public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__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_1((__Instance + __PointerAdjustment), __arg0); } @@ -5159,7 +3582,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.VTableLayout __dummy; + global::CppSharp.Parser.AST.LayoutField __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5167,123 +3590,142 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) + public uint Offset { - var __ret = __Internal.GetComponents_0((__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset = value; + } } - public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) + public global::CppSharp.Parser.AST.QualifiedType 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 void ClearComponents() + public global::System.IntPtr FieldPtr { - __Internal.ClearComponents_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } + + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr = (global::System.IntPtr) value; + } } - public uint ComponentsCount + public string Name { get { - var __ret = __Internal.GetComponentsCount_0((__Instance + __PointerAdjustment)); - return __ret; + var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetName_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class VFTableInfo : IDisposable + public unsafe partial class LayoutBase : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { [FieldOffset(0)] - public ulong VBTableIndex; + public uint offset; [FieldOffset(8)] - public uint VFPtrOffset; - - [FieldOffset(12)] - public uint VFPtrFullOffset; - - [FieldOffset(16)] - public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + public global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev")] internal static extern void dtor_0(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.VFTableInfo __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 VFTableInfo(native.ToPointer(), skipVTables); + return new LayoutBase(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.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new VFTableInfo(native, skipVTables); + return new LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VFTableInfo.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); - global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo.__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 VFTableInfo(void* native, bool skipVTables = false) + protected LayoutBase(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VFTableInfo() + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__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_1((__Instance + __PointerAdjustment), __arg0); } @@ -5294,7 +3736,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.VFTableInfo __dummy; + global::CppSharp.Parser.AST.LayoutBase __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5302,158 +3744,205 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - 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 + public uint Offset { get { - return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset; + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; } set { - ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrFullOffset = value; + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset = value; } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public global::CppSharp.Parser.AST.Class Class { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout); + 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.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.LayoutBase.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class LayoutField : IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public partial struct __Internal { [FieldOffset(0)] - public uint offset; + public global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(8)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(16)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal global::Std.Vector.__Internal VFTables; [FieldOffset(32)] - public global::System.IntPtr fieldPtr; + public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + + [FieldOffset(56)] + public byte hasOwnVFPtr; + + [FieldOffset(64)] + public long VBPtrOffset; + + [FieldOffset(72)] + public int alignment; + + [FieldOffset(76)] + public int size; + + [FieldOffset(80)] + public int dataSize; + + [FieldOffset(88)] + internal global::Std.Vector.__Internal Fields; + + [FieldOffset(112)] + internal global::Std.Vector.__Internal Bases; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr other); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] + internal static extern void cctor_2(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] + internal static extern void GetVFTables_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] + internal static extern void GetFields_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] + internal static extern void GetBases_0(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_0(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_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] + internal static extern uint GetVFTablesCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7getNameEv")] - internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] + internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7setNameEPKc")] - internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] + internal static extern uint GetBasesCount_0(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.LayoutField __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 LayoutField(native.ToPointer(), skipVTables); + return new ClassLayout(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.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new LayoutField(native, skipVTables); + return new ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__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 LayoutField(void* native, bool skipVTables = false) + protected ClassLayout(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutField() + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__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_1((__Instance + __PointerAdjustment), __arg0); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor_2((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -5463,7 +3952,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.LayoutField __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5471,359 +3960,386 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public uint Offset + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + { + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVFTables() + { + __Internal.ClearVFTables_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.CppAbi ABI { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset = value; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI = value; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType); + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout); } 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.ClassLayout.__Internal*) __Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } - public global::System.IntPtr FieldPtr + public bool HasOwnVFPtr { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); } } - public string Name + public long VBPtrOffset { get { - var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; } set { - __Internal.SetName_0((__Instance + __PointerAdjustment), value); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset = value; } } - } - - public unsafe partial class LayoutBase : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - public uint offset; - - [FieldOffset(8)] - public global::System.IntPtr _class; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_")] - internal static extern void cctor_1(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_0(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 LayoutBase(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) - { - return new 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_1(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) + public int Alignment { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + } - protected LayoutBase(void* native, bool skipVTables = false) - { - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment = value; + } } - public LayoutBase() + public int Size { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + } - 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_1((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size = value; + } } - public void Dispose() + public int DataSize { - Dispose(disposing: true); - } + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + } - public virtual void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.LayoutBase __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize = value; + } } - public uint Offset + public uint VFTablesCount { get { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; - } - - set - { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset = value; + var __ret = __Internal.GetVFTablesCount_0((__Instance + __PointerAdjustment)); + return __ret; } } - public global::CppSharp.Parser.AST.Class Class + public uint FieldsCount { 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; + var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint BasesCount + { + get { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class ClassLayout : IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.CppAbi ABI; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - internal global::Std.Vector.__Internal VFTables; + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; [FieldOffset(32)] - public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + public global::Std.BasicString.__Internal Name; + + [FieldOffset(40)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal DebugText; [FieldOffset(56)] - public byte hasOwnVFPtr; + public byte isIncomplete; + + [FieldOffset(57)] + public byte isDependent; + + [FieldOffset(58)] + public byte isImplicit; [FieldOffset(64)] - public long VBPtrOffset; + public global::System.IntPtr completeDeclaration; [FieldOffset(72)] - public int alignment; - - [FieldOffset(76)] - public int size; + public uint definitionOrder; [FieldOffset(80)] - public int dataSize; + internal global::Std.Vector.__Internal PreprocessedEntities; - [FieldOffset(88)] - internal global::Std.Vector.__Internal Fields; + [FieldOffset(104)] + internal global::Std.Vector.__Internal Redeclarations; - [FieldOffset(112)] - internal global::Std.Vector.__Internal Bases; + [FieldOffset(128)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] - internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj")] - internal static extern void GetVFTables_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] + internal static extern global::System.IntPtr GetPreprocessedEntities_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] + internal static extern void AddPreprocessedEntities_0(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_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] + internal static extern void ClearPreprocessedEntities_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj")] - internal static extern void GetFields_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj")] + internal static extern global::System.IntPtr GetRedeclarations_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_")] + internal static extern void AddRedeclarations_0(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_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv")] + internal static extern void ClearRedeclarations_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj")] - internal static extern void GetBases_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7getNameEv")] + internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE")] - internal static extern void AddBases_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc")] + internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] - internal static extern void ClearBases_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6getUSREv")] + internal static extern global::System.IntPtr USR_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] - internal static extern uint GetVFTablesCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6setUSREPKc")] + internal static extern void SetUSR_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] - internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv")] + internal static extern global::System.IntPtr DebugText_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv")] - internal static extern uint GetBasesCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc")] + internal static extern void SetDebugText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] + internal static extern uint GetPreprocessedEntitiesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv")] + internal static extern uint GetRedeclarationsCount_0(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.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new ClassLayout(native.ToPointer(), skipVTables); + return new Declaration(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.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new ClassLayout(native, skipVTables); + return new Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__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 ClassLayout(void* native, bool skipVTables = false) + protected Declaration(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassLayout() + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__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_2((__Instance + __PointerAdjustment), __arg0); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } public void Dispose() @@ -5833,7 +4349,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.ClassLayout __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -5841,180 +4357,299 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); + var __ret = __Internal.GetPreprocessedEntities_0((__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 AddVFTables(global::CppSharp.Parser.AST.VFTableInfo 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.AddVFTables_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddPreprocessedEntities_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearPreprocessedEntities() + { + __Internal.ClearPreprocessedEntities_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations_0((__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 void ClearVFTables() - { - __Internal.ClearVFTables_0((__Instance + __PointerAdjustment)); + 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.LayoutField GetFields(uint i) + public global::CppSharp.Parser.AST.DeclarationContext Namespace { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + 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 void AddFields(global::CppSharp.Parser.AST.LayoutField s) + public global::CppSharp.Parser.SourceLocation Location { - 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_0((__Instance + __PointerAdjustment), __arg0); + 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 void ClearFields() + public int LineNumberStart { - __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart = value; + } } - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + public int LineNumberEnd { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd = value; + } } - public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + public bool IsIncomplete { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete = (byte) (value ? 1 : 0); + } } - public void ClearBases() + public bool IsDependent { - __Internal.ClearBases_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.CppAbi ABI + public bool IsImplicit { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout); + 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.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.Declaration.__Internal*) __Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool HasOwnVFPtr + public uint DefinitionOrder { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder = value; } } - public long VBPtrOffset + public global::System.IntPtr OriginalPtr { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; } } - public int Alignment + public global::CppSharp.Parser.AST.RawComment Comment { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + 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.ClassLayout.__Internal*) __Instance)->alignment = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public int Size + public string Name { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size = value; + __Internal.SetName_0((__Instance + __PointerAdjustment), value); } } - public int DataSize + public string USR { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + var __ret = __Internal.USR_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize = value; + __Internal.SetUSR_0((__Instance + __PointerAdjustment), value); } } - public uint VFTablesCount + public string DebugText { get { - var __ret = __Internal.GetVFTablesCount_0((__Instance + __PointerAdjustment)); - return __ret; + var __ret = __Internal.DebugText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetDebugText_0((__Instance + __PointerAdjustment), value); } } - public uint FieldsCount + public uint PreprocessedEntitiesCount { get { - var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment)); return __ret; } } - public uint BasesCount + public uint RedeclarationsCount { get { - var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetRedeclarationsCount_0((__Instance + __PointerAdjustment)); return __ret; } } @@ -6688,109 +5323,130 @@ namespace CppSharp } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 160)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.RawCommentKind kind; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::Std.BasicString.__Internal Text; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public global::Std.BasicString.__Internal BriefText; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; [FieldOffset(24)] - public global::System.IntPtr fullCommentBlock; + public int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(40)] + public global::Std.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + [FieldOffset(48)] + public global::Std.BasicString.__Internal DebugText; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7getTextEv")] - internal static extern global::System.IntPtr Text_0(global::System.IntPtr instance); + [FieldOffset(56)] + public byte isIncomplete; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc")] - internal static extern void SetText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(57)] + public byte isDependent; + + [FieldOffset(58)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + public uint definitionOrder; + + [FieldOffset(80)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(104)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(128)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(144)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv")] - internal static extern global::System.IntPtr BriefText_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc")] - internal static extern void SetBriefText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - } - - 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; + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.RawComment __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 RawComment(native.ToPointer(), skipVTables); + return new TypedefNameDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__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 RawComment(native, skipVTables); + return new TypedefNameDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__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 RawComment(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 RawComment() + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6799,14 +5455,9 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -6814,202 +5465,171 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - 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 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; - } - } - - public string Text + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - var __ret = __Internal.Text_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } - - set - { - __Internal.SetText_0((__Instance + __PointerAdjustment), value); - } + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } - public string BriefText + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - var __ret = __Internal.BriefText_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType); } set { - __Internal.SetBriefText_0((__Instance + __PointerAdjustment), 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 PreprocessedEntity : IDisposable + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 160)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.MacroLocation macroLocation; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr originalPtr; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(40)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(56)] + public byte isIncomplete; + + [FieldOffset(57)] + public byte isDependent; + + [FieldOffset(58)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + public uint definitionOrder; + + [FieldOffset(80)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(104)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(128)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(144)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] internal static extern void cctor_1(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="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __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 PreprocessedEntity(native.ToPointer(), skipVTables); + return new TypedefDecl(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.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new PreprocessedEntity(native, skipVTables); + return new TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__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.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__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 PreprocessedEntity(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TypedefDecl() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__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) - { - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.MacroLocation MacroLocation - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation = value; - } - } - - public global::System.IntPtr OriginalPtr - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; - } + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.DeclarationKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind = value; - } + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 456)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { [FieldOffset(0)] @@ -7067,302 +5687,213 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(144)] - internal global::Std.Vector.__Internal Namespaces; - - [FieldOffset(168)] - internal global::Std.Vector.__Internal Enums; - - [FieldOffset(192)] - internal global::Std.Vector.__Internal Functions; - - [FieldOffset(216)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(240)] - internal global::Std.Vector.__Internal Templates; - - [FieldOffset(264)] - internal global::Std.Vector.__Internal Typedefs; - - [FieldOffset(288)] - internal global::Std.Vector.__Internal TypeAliases; - - [FieldOffset(312)] - internal global::Std.Vector.__Internal Variables; - - [FieldOffset(336)] - internal global::Std.Vector.__Internal Friends; - - [FieldOffset(360)] - internal global::Std.Map.__Internal anonymous; - - [FieldOffset(408)] - public byte isAnonymous; - - [FieldOffset(412)] - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; - - [FieldOffset(416)] - public global::System.IntPtr type; - - [FieldOffset(424)] - public global::System.IntPtr builtinType; + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(432)] - internal global::Std.Vector.__Internal Items; + [FieldOffset(160)] + public global::System.IntPtr describedAliasTemplate; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] - internal static extern global::System.IntPtr GetItems_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] - internal static extern void ClearItems_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] - internal static extern uint GetItemsCount_0(global::System.IntPtr instance); } - [Flags] - public enum EnumModifiers + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Anonymous = 1, - Scoped = 2, - Flags = 4 + return new TypeAlias(native.ToPointer(), skipVTables); } - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) { - [StructLayout(LayoutKind.Explicit, Size = 160)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(40)] - public global::Std.BasicString.__Internal USR; + return new TypeAlias(native, skipVTables); + } - [FieldOffset(48)] - public global::Std.BasicString.__Internal DebugText; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(56)] - public byte isIncomplete; + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(57)] - public byte isDependent; + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(58)] - public byte isImplicit; + public TypeAlias() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) + { + __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_1((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(72)] - public uint definitionOrder; + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - [FieldOffset(80)] - internal global::Std.Vector.__Internal PreprocessedEntities; + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + { + 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; + } - [FieldOffset(104)] - internal global::Std.Vector.__Internal Redeclarations; + set + { + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(128)] - public global::System.IntPtr originalPtr; + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 152)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(136)] - public global::System.IntPtr comment; + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(144)] - public global::Std.BasicString.__Internal Expression; + [FieldOffset(8)] + public global::System.IntPtr _namespace; - [FieldOffset(152)] - public ulong value; + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + [FieldOffset(20)] + public int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(24)] + public int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv")] - internal static extern global::System.IntPtr Expression_0(global::System.IntPtr instance); + [FieldOffset(40)] + public global::Std.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc")] - internal static extern void SetExpression_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - } + [FieldOffset(48)] + public global::Std.BasicString.__Internal DebugText; - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new Item(native.ToPointer(), skipVTables); - } + [FieldOffset(56)] + public byte isIncomplete; - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new Item(native, skipVTables); - } + [FieldOffset(57)] + public byte isDependent; - 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_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(58)] + public byte isImplicit; - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(72)] + public uint definitionOrder; - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + [FieldOffset(80)] + internal global::Std.Vector.__Internal PreprocessedEntities; - 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_1((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(104)] + internal global::Std.Vector.__Internal Redeclarations; - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } + [FieldOffset(128)] + public global::System.IntPtr originalPtr; - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } + [FieldOffset(136)] + public global::System.IntPtr comment; - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value = value; - } - } + [FieldOffset(144)] + public global::System.IntPtr declaration; - public string Expression - { - get - { - var __ret = __Internal.Expression_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - set - { - __Internal.SetExpression_0((__Instance + __PointerAdjustment), value); - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Enumeration __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 Enumeration(native.ToPointer(), skipVTables); + return new Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__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 Enumeration(native, skipVTables); + return new Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__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 Enumeration(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7371,19 +5902,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Enumeration() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7402,293 +5933,321 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + public global::CppSharp.Parser.AST.Declaration Declaration { - var __ret = __Internal.GetItems_0((__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 + { + 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 void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + public unsafe partial class Statement : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + 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.AddItems_0((__Instance + __PointerAdjustment), __arg0); + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(8)] + public global::System.IntPtr decl; + + [FieldOffset(16)] + public global::Std.BasicString.__Internal String; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9getStringEv")] + internal static extern global::System.IntPtr String_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9setStringEPKc")] + internal static extern void SetString_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - public void ClearItems() + 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 Statement(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) + { + return new 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_1(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(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_1((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) { - __Internal.ClearItems_0((__Instance + __PointerAdjustment)); + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers + public global::CppSharp.Parser.AST.StatementClass Class { get { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; + return ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers = value; + ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class = value; } } - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.Declaration Decl { 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); + 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.Enumeration.__Internal*) __Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.BuiltinType BuiltinType + public string String { 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; + var __ret = __Internal.String_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } 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_0((__Instance + __PointerAdjustment)); - return __ret; + __Internal.SetString_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 264)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - public global::System.IntPtr _namespace; + public global::System.IntPtr decl; [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(40)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(56)] - public byte isIncomplete; - - [FieldOffset(57)] - public byte isDependent; - - [FieldOffset(58)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - public uint definitionOrder; - - [FieldOffset(80)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(104)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(128)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; - - [FieldOffset(144)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(160)] - public byte isReturnIndirect; - - [FieldOffset(161)] - public byte hasThisReturn; - - [FieldOffset(162)] - public byte isConstExpr; - - [FieldOffset(163)] - public byte isVariadic; - - [FieldOffset(164)] - public byte isInline; - - [FieldOffset(165)] - public byte isPure; - - [FieldOffset(166)] - public byte isDeleted; - - [FieldOffset(168)] - public global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(172)] - public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(176)] - public global::Std.BasicString.__Internal Mangled; - - [FieldOffset(184)] - public global::Std.BasicString.__Internal Signature; - - [FieldOffset(192)] - public global::Std.BasicString.__Internal Body; - - [FieldOffset(200)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(208)] - internal global::Std.Vector.__Internal Parameters; - - [FieldOffset(232)] - public global::System.IntPtr specializationInfo; - - [FieldOffset(240)] - public global::System.IntPtr instantiatedFrom; - - [FieldOffset(248)] - public 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_0(global::System.IntPtr instance); + public global::Std.BasicString.__Internal String; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] - internal static extern global::System.IntPtr GetParameters_0(global::System.IntPtr instance, uint i); + internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Expression(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE")] - internal static extern void AddParameters_0(global::System.IntPtr instance, global::System.IntPtr s); + internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + { + return new Expression(native, skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] - internal static extern void ClearParameters_0(global::System.IntPtr instance); + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function10getMangledEv")] - internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + private Expression(global::CppSharp.Parser.AST.Expression.__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="_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc")] - internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + protected Expression(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + 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_1((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + } + + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(8)] + public global::System.IntPtr decl; + + [FieldOffset(16)] + public global::Std.BasicString.__Internal String; + + [FieldOffset(24)] + public global::System.IntPtr LHS; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function12getSignatureEv")] - internal static extern global::System.IntPtr Signature_0(global::System.IntPtr instance); + [FieldOffset(32)] + public global::System.IntPtr RHS; + + [FieldOffset(40)] + public global::Std.BasicString.__Internal OpcodeStr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc")] - internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function7getBodyEv")] - internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc")] - internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12getOpcodeStrEv")] + internal static extern global::System.IntPtr OpcodeStr_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] - internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12setOpcodeStrEPKc")] + internal static extern void SetOpcodeStr_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - internal static new global::CppSharp.Parser.AST.Function __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 Function(native.ToPointer(), skipVTables); + return new BinaryOperator(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__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 Function(native, skipVTables); + return new BinaryOperator(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Function(global::CppSharp.Parser.AST.Function.__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 Function(void* native, bool skipVTables = false) + protected BinaryOperator(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7697,19 +6256,10 @@ namespace CppSharp __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_0((__Instance + __PointerAdjustment)); - } - - public Function(global::CppSharp.Parser.AST.Function _0) + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7720,7 +6270,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -7728,377 +6278,267 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 + public global::CppSharp.Parser.AST.Expression LHS { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 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.Function.__Internal*) __Instance)->isConstExpr = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsVariadic + public global::CppSharp.Parser.AST.Expression RHS { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 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.Function.__Internal*) __Instance)->isVariadic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsInline + public string OpcodeStr { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + var __ret = __Internal.OpcodeStr_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + __Internal.SetOpcodeStr_0((__Instance + __PointerAdjustment), value); } } + } - public bool IsPure + 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.Function.__Internal*) __Instance)->isPure != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure = (byte) (value ? 1 : 0); - } - } + [FieldOffset(8)] + public global::System.IntPtr decl; - public bool IsDeleted - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; - } + [FieldOffset(16)] + public global::Std.BasicString.__Internal String; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted = (byte) (value ? 1 : 0); - } - } + [FieldOffset(24)] + internal global::Std.Vector.__Internal Arguments; - public global::CppSharp.Parser.AST.FriendKind FriendKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind = value; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind = value; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); - public global::CppSharp.Parser.AST.CallingConvention CallingConvention - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention = value; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - 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; - } + return new CallExpr(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.Function InstantiatedFrom + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) { - 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; - } + return new CallExpr(native, skipVTables); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType); - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - 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; - } + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public string Mangled + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); - } + 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_1((__Instance + __PointerAdjustment), __arg0); } - public string Signature + public override void Dispose(bool disposing) { - get - { - var __ret = __Internal.Signature_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - set - { - __Internal.SetSignature_0((__Instance + __PointerAdjustment), value); - } + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + { + var __ret = __Internal.GetArguments_0((__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 string Body + public void AddArguments(global::CppSharp.Parser.AST.Expression s) { - get - { - var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + 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_0((__Instance + __PointerAdjustment), __arg0); + } - set - { - __Internal.SetBody_0((__Instance + __PointerAdjustment), value); - } + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); } - public uint ParametersCount + public uint ArgumentsCount { get { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - public global::System.IntPtr _namespace; + public global::System.IntPtr decl; [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; + public global::Std.BasicString.__Internal String; [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(40)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(48)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(56)] - public byte isIncomplete; - - [FieldOffset(57)] - public byte isDependent; - - [FieldOffset(58)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - public uint definitionOrder; - - [FieldOffset(80)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(104)] - internal global::Std.Vector.__Internal Redeclarations; + internal global::Std.Vector.__Internal Arguments; - [FieldOffset(128)] - public global::System.IntPtr originalPtr; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(136)] - public global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(144)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] + internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefDecl __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 TypedefDecl(native.ToPointer(), skipVTables); + return new CXXConstructExpr(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.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) { - return new TypedefDecl(native, skipVTables); + return new CXXConstructExpr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__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 TypedefDecl(void* native, bool skipVTables = false) + protected CXXConstructExpr(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8107,19 +6547,10 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefDecl() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8130,18 +6561,51 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + { + var __ret = __Internal.GetArguments_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { [FieldOffset(0)] @@ -8202,49 +6666,58 @@ namespace CppSharp public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(160)] - public global::System.IntPtr describedAliasTemplate; + public byte isIndirect; + + [FieldOffset(161)] + public byte hasDefaultValue; + + [FieldOffset(164)] + public uint index; + + [FieldOffset(168)] + public global::System.IntPtr defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] internal static extern void dtor_0(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.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypeAlias(native.ToPointer(), skipVTables); + return new Parameter(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.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) { - return new TypeAlias(native, skipVTables); + return new Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__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 TypeAlias(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8253,19 +6726,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAlias() + public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8284,28 +6757,80 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { 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 global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + } + } + + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + } + + set + { + ((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.TypeAlias.__Internal*) __Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 416)] + [StructLayout(LayoutKind.Explicit, Size = 264)] public new partial struct __Internal { [FieldOffset(0)] @@ -8363,82 +6888,150 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(144)] - internal global::Std.Vector.__Internal Namespaces; + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - [FieldOffset(168)] - internal global::Std.Vector.__Internal Enums; + [FieldOffset(160)] + public byte isReturnIndirect; - [FieldOffset(192)] - internal global::Std.Vector.__Internal Functions; + [FieldOffset(161)] + public byte hasThisReturn; - [FieldOffset(216)] - internal global::Std.Vector.__Internal Classes; + [FieldOffset(162)] + public byte isConstExpr; - [FieldOffset(240)] - internal global::Std.Vector.__Internal Templates; + [FieldOffset(163)] + public byte isVariadic; - [FieldOffset(264)] - internal global::Std.Vector.__Internal Typedefs; + [FieldOffset(164)] + public byte isInline; - [FieldOffset(288)] - internal global::Std.Vector.__Internal TypeAliases; + [FieldOffset(165)] + public byte isPure; - [FieldOffset(312)] - internal global::Std.Vector.__Internal Variables; + [FieldOffset(166)] + public byte isDeleted; - [FieldOffset(336)] - internal global::Std.Vector.__Internal Friends; + [FieldOffset(168)] + public global::CppSharp.Parser.AST.FriendKind friendKind; - [FieldOffset(360)] - internal global::Std.Map.__Internal anonymous; + [FieldOffset(172)] + public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - [FieldOffset(408)] - public byte isAnonymous; + [FieldOffset(176)] + public global::Std.BasicString.__Internal Mangled; - [FieldOffset(409)] - public byte isInline; + [FieldOffset(184)] + public global::Std.BasicString.__Internal Signature; + + [FieldOffset(192)] + public global::Std.BasicString.__Internal Body; + + [FieldOffset(200)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(208)] + internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(232)] + public global::System.IntPtr specializationInfo; + + [FieldOffset(240)] + public global::System.IntPtr instantiatedFrom; + + [FieldOffset(248)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function13getParametersEj")] + internal static extern global::System.IntPtr GetParameters_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function10getMangledEv")] + internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc")] + internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function12getSignatureEv")] + internal static extern global::System.IntPtr Signature_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc")] + internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7getBodyEv")] + internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc")] + internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] + internal static extern uint GetParametersCount_0(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.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Namespace(native.ToPointer(), skipVTables); + return new Function(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.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new Namespace(native, skipVTables); + return new Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__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 Namespace(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8447,19 +7040,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8478,169 +7071,277 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsInline + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType); } set { - ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + ((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 TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 176)] - public new partial struct __Internal + public bool IsReturnIndirect { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + } - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + } + } - [FieldOffset(40)] - public global::Std.BasicString.__Internal USR; + public bool HasThisReturn + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + } - [FieldOffset(48)] - public global::Std.BasicString.__Internal DebugText; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn = (byte) (value ? 1 : 0); + } + } - [FieldOffset(56)] - public byte isIncomplete; + public bool IsConstExpr + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + } - [FieldOffset(57)] - public byte isDependent; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr = (byte) (value ? 1 : 0); + } + } - [FieldOffset(58)] - public byte isImplicit; + public bool IsVariadic + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + } - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(72)] - public uint definitionOrder; + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + } - [FieldOffset(80)] - internal global::Std.Vector.__Internal PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + } + } - [FieldOffset(104)] - internal global::Std.Vector.__Internal Redeclarations; + public bool IsPure + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + } - [FieldOffset(128)] - public global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure = (byte) (value ? 1 : 0); + } + } - [FieldOffset(136)] - public global::System.IntPtr comment; + public bool IsDeleted + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + } - [FieldOffset(144)] - public global::System.IntPtr TemplatedDecl; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted = (byte) (value ? 1 : 0); + } + } - [FieldOffset(152)] - internal global::Std.Vector.__Internal Parameters; + public global::CppSharp.Parser.AST.FriendKind FriendKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind = value; + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind = value; + } } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { - return new TypeAliasTemplate(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention = value; + } } - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo { - return new TypeAliasTemplate(native, skipVTables); + 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; + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + public global::CppSharp.Parser.AST.Function InstantiatedFrom { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + 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; + } } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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; + } } - protected TypeAliasTemplate(void* native, bool skipVTables = false) - : base((void*) null) + public string Mangled { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); + } } - public TypeAliasTemplate() - : this((void*) null) + public string Signature { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.Signature_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetSignature_0((__Instance + __PointerAdjustment), value); + } } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) - : this((void*) null) + public string Body { - __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_1((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBody_0((__Instance + __PointerAdjustment), value); + } } - public override void Dispose(bool disposing) + public uint ParametersCount { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + get + { + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 200)] + [StructLayout(LayoutKind.Explicit, Size = 304)] public new partial struct __Internal { [FieldOffset(0)] @@ -8698,277 +7399,133 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(144)] - public global::System.IntPtr TemplatedDecl; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal Parameters; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Specializations; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] - internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new ClassTemplate(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) - { - return new ClassTemplate(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected ClassTemplate(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public ClassTemplate() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__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_1((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(160)] + public byte isReturnIndirect; - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } + [FieldOffset(161)] + public byte hasThisReturn; - public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations_0((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(162)] + public byte isConstExpr; - public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization 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_0((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(163)] + public byte isVariadic; - public void ClearSpecializations() - { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); - } + [FieldOffset(164)] + public byte isInline; - public uint SpecializationsCount - { - get - { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(165)] + public byte isPure; - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 200)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(166)] + public byte isDeleted; - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + [FieldOffset(168)] + public global::CppSharp.Parser.AST.FriendKind friendKind; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [FieldOffset(172)] + public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(176)] + public global::Std.BasicString.__Internal Mangled; - [FieldOffset(20)] - public int lineNumberStart; + [FieldOffset(184)] + public global::Std.BasicString.__Internal Signature; - [FieldOffset(24)] - public int lineNumberEnd; + [FieldOffset(192)] + public global::Std.BasicString.__Internal Body; - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; + [FieldOffset(200)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(40)] - public global::Std.BasicString.__Internal USR; + [FieldOffset(208)] + internal global::Std.Vector.__Internal Parameters; - [FieldOffset(48)] - public global::Std.BasicString.__Internal DebugText; + [FieldOffset(232)] + public global::System.IntPtr specializationInfo; - [FieldOffset(56)] - public byte isIncomplete; + [FieldOffset(240)] + public global::System.IntPtr instantiatedFrom; - [FieldOffset(57)] - public byte isDependent; + [FieldOffset(248)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(58)] - public byte isImplicit; + [FieldOffset(264)] + public byte isVirtual; - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; + [FieldOffset(265)] + public byte isStatic; - [FieldOffset(72)] - public uint definitionOrder; + [FieldOffset(266)] + public byte isConst; - [FieldOffset(80)] - internal global::Std.Vector.__Internal PreprocessedEntities; + [FieldOffset(267)] + public byte isExplicit; - [FieldOffset(104)] - internal global::Std.Vector.__Internal Redeclarations; + [FieldOffset(268)] + public byte isOverride; - [FieldOffset(128)] - public global::System.IntPtr originalPtr; + [FieldOffset(272)] + public global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(136)] - public global::System.IntPtr comment; + [FieldOffset(276)] + public byte isDefaultConstructor; - [FieldOffset(144)] - public global::System.IntPtr TemplatedDecl; + [FieldOffset(277)] + public byte isCopyConstructor; - [FieldOffset(152)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(278)] + public byte isMoveConstructor; - [FieldOffset(176)] - internal global::Std.Vector.__Internal Specializations; + [FieldOffset(280)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(296)] + public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] internal static extern void cctor_1(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount_0(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 FunctionTemplate(native.ToPointer(), skipVTables); + return new 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 FunctionTemplate(native, skipVTables); + return new 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_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor_1(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; @@ -8977,19 +7534,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_0((__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)) @@ -9008,43 +7565,153 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + public bool IsVirtual { - var __ret = __Internal.GetSpecializations_0((__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; + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); + } } - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + public bool IsStatic { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic = (byte) (value ? 1 : 0); + } } - public void ClearSpecializations() + public bool IsConst { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst = (byte) (value ? 1 : 0); + } } - public uint SpecializationsCount + public bool IsExplicit { get { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public bool IsOverride + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride = (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(((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 unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 456)] public new partial struct __Internal { [FieldOffset(0)] @@ -9102,62 +7769,302 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(144)] - public global::Std.BasicString.__Internal Mangled; + internal global::Std.Vector.__Internal Namespaces; - [FieldOffset(152)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(168)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(192)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(216)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(240)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(264)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(336)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(360)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(408)] + public byte isAnonymous; + + [FieldOffset(412)] + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(416)] + public global::System.IntPtr type; + + [FieldOffset(424)] + public global::System.IntPtr builtinType; + + [FieldOffset(432)] + internal global::Std.Vector.__Internal Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10getMangledEv")] - internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj")] + internal static extern global::System.IntPtr GetItems_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] + internal static extern void ClearItems_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv")] + internal static extern uint GetItemsCount_0(global::System.IntPtr instance); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } + + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 160)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(40)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(56)] + public byte isIncomplete; + + [FieldOffset(57)] + public byte isDependent; + + [FieldOffset(58)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + public uint definitionOrder; + + [FieldOffset(80)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(104)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(128)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(144)] + public global::Std.BasicString.__Internal Expression; + + [FieldOffset(152)] + public ulong value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv")] + internal static extern global::System.IntPtr Expression_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc")] + internal static extern void SetExpression_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } + + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new 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 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + 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; + } + } + + public string Expression + { + get + { + var __ret = __Internal.Expression_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc")] - internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + set + { + __Internal.SetExpression_0((__Instance + __PointerAdjustment), value); + } + } } - internal static new global::CppSharp.Parser.AST.Variable __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 Variable(native.ToPointer(), skipVTables); + return new Enumeration(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.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new Variable(native, skipVTables); + return new Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__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 Variable(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9166,19 +8073,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9197,37 +8104,92 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + { + var __ret = __Internal.GetItems_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearItems() + { + __Internal.ClearItems_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType); + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; } 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.Enumeration.__Internal*) __Instance)->modifiers = value; } } - public string Mangled + public global::CppSharp.Parser.AST.Type Type { get { - var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + 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 { - __Internal.SetMangled_0((__Instance + __PointerAdjustment), 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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { [FieldOffset(0)] @@ -9285,49 +8247,62 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(144)] - public global::System.IntPtr declaration; + public global::Std.BasicString.__Internal Mangled; + + [FieldOffset(152)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10getMangledEv")] + internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc")] + internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - internal static new global::CppSharp.Parser.AST.Friend __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 Friend(native.ToPointer(), skipVTables); + return new Variable(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.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new Friend(native, skipVTables); + return new Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Friend(global::CppSharp.Parser.AST.Friend.__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 Friend(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9336,19 +8311,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Friend() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9367,108 +8342,115 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { 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; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType); } set { - ((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : 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 string Mangled + { + get + { + var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class Statement : IDisposable + public unsafe partial class BaseClassSpecifier : IDisposable { [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(4)] + public byte isVirtual; [FieldOffset(8)] - public global::System.IntPtr decl; + public global::System.IntPtr type; [FieldOffset(16)] - public global::Std.BasicString.__Internal String; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9StatementC2ERKS2_")] - internal static extern void cctor_1(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_0(global::System.IntPtr instance); + public int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9getStringEv")] - internal static extern global::System.IntPtr String_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9setStringEPKc")] - internal static extern void SetString_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] + internal static extern void cctor_1(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(); + 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 global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Statement(native.ToPointer(), skipVTables); + return new BaseClassSpecifier(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.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new Statement(native, skipVTables); + return new BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor_1(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 Statement(global::CppSharp.Parser.AST.Statement.__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 Statement(void* native, bool skipVTables = false) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__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_1((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + { + __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); } public void Dispose() @@ -9478,110 +8460,182 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.StatementClass Class + 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.Statement.__Internal*) __Instance)->_class; + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class = value; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.Declaration Decl + public global::CppSharp.Parser.AST.Type Type { 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.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.Statement.__Internal*) __Instance)->decl = 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 string String + public int Offset { get { - var __ret = __Internal.String_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; } set { - __Internal.SetString_0((__Instance + __PointerAdjustment), value); + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset = value; } } } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr decl; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public global::Std.BasicString.__Internal String; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(40)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(56)] + public byte isIncomplete; + + [FieldOffset(57)] + public byte isDependent; + + [FieldOffset(58)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + public uint definitionOrder; + + [FieldOffset(80)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(104)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(128)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(144)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(160)] + public global::System.IntPtr _class; + + [FieldOffset(168)] + public byte isBitField; + + [FieldOffset(172)] + public uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.Expression __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 Expression(native.ToPointer(), skipVTables); + return new Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__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 Expression(native, skipVTables); + return new Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Expression(global::CppSharp.Parser.AST.Expression.__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 Expression(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9590,10 +8644,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Expression(global::CppSharp.Parser.AST.Expression _0) + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Field(global::CppSharp.Parser.AST.Field _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9604,84 +8667,172 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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.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 BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr decl; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public global::Std.BasicString.__Internal String; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; [FieldOffset(24)] - public global::System.IntPtr LHS; + public int lineNumberEnd; [FieldOffset(32)] - public global::System.IntPtr RHS; + public global::Std.BasicString.__Internal Name; [FieldOffset(40)] - public global::Std.BasicString.__Internal OpcodeStr; + public global::Std.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(48)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(56)] + public byte isIncomplete; + + [FieldOffset(57)] + public byte isDependent; + + [FieldOffset(58)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + public uint definitionOrder; + + [FieldOffset(80)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(104)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(128)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12getOpcodeStrEv")] - internal static extern global::System.IntPtr OpcodeStr_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12setOpcodeStrEPKc")] - internal static extern void SetOpcodeStr_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __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 BinaryOperator(native.ToPointer(), skipVTables); + return new AccessSpecifierDecl(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.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new BinaryOperator(native, skipVTables); + return new AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__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 BinaryOperator(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9690,10 +8841,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__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)) @@ -9704,138 +8864,273 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + } - public global::CppSharp.Parser.AST.Expression LHS + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 536)] + public new partial struct __Internal { - 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; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; - 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(8)] + public global::System.IntPtr _namespace; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - public string OpcodeStr - { - get - { - var __ret = __Internal.OpcodeStr_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(40)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(56)] + public byte isIncomplete; + + [FieldOffset(57)] + public byte isDependent; + + [FieldOffset(58)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + public uint definitionOrder; + + [FieldOffset(80)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(104)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(128)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(168)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(192)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(216)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(240)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(264)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(336)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(360)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(408)] + public byte isAnonymous; + + [FieldOffset(416)] + internal global::Std.Vector.__Internal Bases; + + [FieldOffset(440)] + internal global::Std.Vector.__Internal Fields; + + [FieldOffset(464)] + internal global::Std.Vector.__Internal Methods; + + [FieldOffset(488)] + internal global::Std.Vector.__Internal Specifiers; + + [FieldOffset(512)] + public byte isPOD; + + [FieldOffset(513)] + public byte isAbstract; + + [FieldOffset(514)] + public byte isUnion; + + [FieldOffset(515)] + public byte isDynamic; + + [FieldOffset(516)] + public byte isPolymorphic; + + [FieldOffset(517)] + public byte hasNonTrivialDefaultConstructor; + + [FieldOffset(518)] + public byte hasNonTrivialCopyConstructor; + + [FieldOffset(519)] + public byte hasNonTrivialDestructor; + + [FieldOffset(520)] + public byte isExternCContext; + + [FieldOffset(521)] + public byte isInjected; + + [FieldOffset(528)] + public global::System.IntPtr layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_")] + internal static extern void cctor_1(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class8getBasesEj")] + internal static extern global::System.IntPtr GetBases_0(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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class9getFieldsEj")] + internal static extern global::System.IntPtr GetFields_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); - set - { - __Internal.SetOpcodeStr_0((__Instance + __PointerAdjustment), value); - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + internal static extern void ClearFields_0(global::System.IntPtr instance); - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10getMethodsEj")] + internal static extern global::System.IntPtr GetMethods_0(global::System.IntPtr instance, uint i); - [FieldOffset(8)] - public global::System.IntPtr decl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE")] + internal static extern void AddMethods_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(16)] - public global::Std.BasicString.__Internal String; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] + internal static extern void ClearMethods_0(global::System.IntPtr instance); - [FieldOffset(24)] - internal global::Std.Vector.__Internal Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj")] + internal static extern global::System.IntPtr GetSpecifiers_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE")] + internal static extern void AddSpecifiers_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] + internal static extern void ClearSpecifiers_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + internal static extern uint GetBasesCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] + internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] + internal static extern uint GetMethodsCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] + internal static extern uint GetSpecifiersCount_0(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.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new CallExpr(native.ToPointer(), skipVTables); + return new Class(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.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new CallExpr(native, skipVTables); + return new Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__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 CallExpr(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9844,10 +9139,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__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)) @@ -9858,7 +9162,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -9866,296 +9170,459 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) { - var __ret = __Internal.GetArguments_0((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; + var __ret = __Internal.GetBases_0((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __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.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.Expression 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_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBases_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearBases() { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.ClearBases_0((__Instance + __PointerAdjustment)); } - public uint ArgumentsCount + public global::CppSharp.Parser.AST.Field GetFields(uint i) { - get - { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } + var __ret = __Internal.GetFields_0((__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 unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public new partial struct __Internal + public void AddFields(global::CppSharp.Parser.AST.Field s) { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(8)] - public global::System.IntPtr decl; + public void ClearFields() + { + __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(16)] - public global::Std.BasicString.__Internal String; + public global::CppSharp.Parser.AST.Method GetMethods(uint i) + { + var __ret = __Internal.GetMethods_0((__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(24)] - internal global::Std.Vector.__Internal Arguments; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + public void ClearMethods() + { + __Internal.ClearMethods_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + { + var __ret = __Internal.GetSpecifiers_0((__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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getArgumentsEj")] - internal static extern global::System.IntPtr GetArguments_0(global::System.IntPtr instance, uint i); + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] - internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + public void ClearSpecifiers() + { + __Internal.ClearSpecifiers_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsPolymorphic { - return new CXXConstructExpr(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + public bool HasNonTrivialDefaultConstructor { - return new CXXConstructExpr(native, 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); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + public bool HasNonTrivialCopyConstructor { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + 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 CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool HasNonTrivialDestructor { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - protected CXXConstructExpr(void* native, bool skipVTables = false) - : base((void*) null) + public bool IsExternCContext { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + 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 CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) - : this((void*) null) + public bool IsInjected { - __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_1((__Instance + __PointerAdjustment), __arg0); + 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 override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.ClassLayout Layout { - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + 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 global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public uint BasesCount { - var __ret = __Internal.GetArguments_0((__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; + get + { + var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public uint FieldsCount { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public void ClearArguments() + public uint MethodsCount { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.GetMethodsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public uint ArgumentsCount + public uint SpecifiersCount { get { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecifiersCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class FunctionTemplateSpecialization : IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 176)] + public new partial struct __Internal { [FieldOffset(0)] - public global::System.IntPtr _template; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - internal global::Std.Vector.__Internal Arguments; + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; [FieldOffset(32)] - public global::System.IntPtr specializedFunction; + public global::Std.BasicString.__Internal Name; [FieldOffset(40)] - public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + public global::Std.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + [FieldOffset(48)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(56)] + public byte isIncomplete; + + [FieldOffset(57)] + public byte isDependent; + + [FieldOffset(58)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + public uint definitionOrder; + + [FieldOffset(80)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(104)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(128)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(144)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal Parameters; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] - internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + internal static extern void ctor_1(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] - internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] - internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13getParametersEj")] + internal static extern global::System.IntPtr GetParameters_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } + EntryPoint="_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE")] + internal static extern void AddParameters_0(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="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] + internal static extern void ClearParameters_0(global::System.IntPtr instance); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] + internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __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 FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + return new Template(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.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new FunctionTemplateSpecialization(native, skipVTables); + return new Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__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 FunctionTemplateSpecialization(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplateSpecialization() + public Template(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.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public Template() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor_1((__Instance + __PointerAdjustment)); } - public void Dispose() + public Template(global::CppSharp.Parser.AST.Template _0) + : this((void*) null) { - Dispose(disposing: true); + __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_2((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -10163,88 +9630,66 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetParameters_0((__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 AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + 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.AddArguments_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddParameters_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearParameters() { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FunctionTemplate Template + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) { - 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; - } + return new global::CppSharp.Parser.AST.Template(kind); } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { 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); + 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.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; + ((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ArgumentsCount + public uint ParametersCount { get { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { [FieldOffset(0)] @@ -10301,47 +9746,53 @@ namespace CppSharp [FieldOffset(136)] public global::System.IntPtr comment; + [FieldOffset(144)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal Parameters; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.AccessSpecifierDecl __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 AccessSpecifierDecl(native.ToPointer(), skipVTables); + return new TypeAliasTemplate(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.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new AccessSpecifierDecl(native, skipVTables); + return new TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__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 AccessSpecifierDecl(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10350,19 +9801,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AccessSpecifierDecl() + public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10382,9 +9833,9 @@ namespace CppSharp } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 304)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { [FieldOffset(0)] @@ -10411,164 +9862,86 @@ namespace CppSharp [FieldOffset(40)] public global::Std.BasicString.__Internal USR; - [FieldOffset(48)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(56)] - public byte isIncomplete; - - [FieldOffset(57)] - public byte isDependent; - - [FieldOffset(58)] - public byte isImplicit; - - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(72)] - public uint definitionOrder; - - [FieldOffset(80)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(104)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(128)] - public global::System.IntPtr originalPtr; - - [FieldOffset(136)] - public global::System.IntPtr comment; - - [FieldOffset(144)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(160)] - public byte isReturnIndirect; - - [FieldOffset(161)] - public byte hasThisReturn; - - [FieldOffset(162)] - public byte isConstExpr; - - [FieldOffset(163)] - public byte isVariadic; - - [FieldOffset(164)] - public byte isInline; - - [FieldOffset(165)] - public byte isPure; - - [FieldOffset(166)] - public byte isDeleted; - - [FieldOffset(168)] - public global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(172)] - public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(176)] - public global::Std.BasicString.__Internal Mangled; - - [FieldOffset(184)] - public global::Std.BasicString.__Internal Signature; - - [FieldOffset(192)] - public global::Std.BasicString.__Internal Body; - - [FieldOffset(200)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(208)] - internal global::Std.Vector.__Internal Parameters; - - [FieldOffset(232)] - public global::System.IntPtr specializationInfo; - - [FieldOffset(240)] - public global::System.IntPtr instantiatedFrom; - - [FieldOffset(248)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(48)] + public global::Std.BasicString.__Internal DebugText; - [FieldOffset(264)] - public byte isVirtual; + [FieldOffset(56)] + public byte isIncomplete; - [FieldOffset(265)] - public byte isStatic; + [FieldOffset(57)] + public byte isDependent; - [FieldOffset(266)] - public byte isConst; + [FieldOffset(58)] + public byte isImplicit; - [FieldOffset(267)] - public byte isExplicit; + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; - [FieldOffset(268)] - public byte isOverride; + [FieldOffset(72)] + public uint definitionOrder; - [FieldOffset(272)] - public global::CppSharp.Parser.AST.CXXMethodKind methodKind; + [FieldOffset(80)] + internal global::Std.Vector.__Internal PreprocessedEntities; - [FieldOffset(276)] - public byte isDefaultConstructor; + [FieldOffset(104)] + internal global::Std.Vector.__Internal Redeclarations; - [FieldOffset(277)] - public byte isCopyConstructor; + [FieldOffset(128)] + public global::System.IntPtr originalPtr; - [FieldOffset(278)] - public byte isMoveConstructor; + [FieldOffset(136)] + public global::System.IntPtr comment; - [FieldOffset(280)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + [FieldOffset(144)] + public uint depth; - [FieldOffset(296)] - public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + [FieldOffset(148)] + public uint index; + + [FieldOffset(152)] + public byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] internal static extern void dtor_0(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.TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Method(native.ToPointer(), skipVTables); + return new TemplateParameter(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.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new Method(native, skipVTables); + return new TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__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 Method(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10577,19 +9950,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public Method(global::CppSharp.Parser.AST.Method _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10608,305 +9981,411 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsVirtual + 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.Method.__Internal*) __Instance)->isVirtual != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth = value; } } - public bool IsStatic + public uint Index { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index = value; } } - public bool IsConst + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); } } + } - public bool IsExplicit + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 184)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit = (byte) (value ? 1 : 0); - } + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(40)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(56)] + public byte isIncomplete; + + [FieldOffset(57)] + public byte isDependent; + + [FieldOffset(58)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + public uint definitionOrder; + + [FieldOffset(80)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(104)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(128)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(144)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(176)] + public byte isParameterPack; + + [FieldOffset(177)] + public byte isPackExpansion; + + [FieldOffset(178)] + public byte isExpandedParameterPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); } - public bool IsOverride + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride != 0; - } + return new TemplateTemplateParameter(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride = (byte) (value ? 1 : 0); - } + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + { + return new TemplateTemplateParameter(native, skipVTables); } - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind = value; - } + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TemplateTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TemplateTemplateParameter() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public bool IsDefaultConstructor + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__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_1((__Instance + __PointerAdjustment), __arg0); } - public bool IsCopyConstructor + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor = (byte) (value ? 1 : 0); - } + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public bool IsMoveConstructor + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public bool IsPackExpansion { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType); + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } 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.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier = value; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class BaseClassSpecifier : IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 176)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - public byte isVirtual; + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr type; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public int offset; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(40)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(56)] + public byte isIncomplete; + + [FieldOffset(57)] + public byte isDependent; + + [FieldOffset(58)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + public uint definitionOrder; + + [FieldOffset(80)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(104)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(128)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(144)] + public uint depth; + + [FieldOffset(148)] + public uint index; + + [FieldOffset(152)] + public byte isParameterPack; + + [FieldOffset(160)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_")] internal static extern void cctor_1(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="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] + internal static extern void dtor_0(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.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new BaseClassSpecifier(native.ToPointer(), skipVTables); + return new TypeTemplateParameter(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.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new BaseClassSpecifier(native, skipVTables); + return new TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__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.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__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 BaseClassSpecifier(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BaseClassSpecifier() + public TypeTemplateParameter() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__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_1((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - 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 - { - 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; - } - } - - public int Offset + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument); } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset = value; + ((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 Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal @@ -10966,58 +10445,67 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(144)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public uint depth; + + [FieldOffset(148)] + public uint index; + + [FieldOffset(152)] + public byte isParameterPack; [FieldOffset(160)] - public global::System.IntPtr _class; + public global::System.IntPtr defaultArgument; [FieldOffset(168)] - public byte isBitField; + public uint position; [FieldOffset(172)] - public uint bitWidth; + public byte isPackExpansion; + + [FieldOffset(173)] + public byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] internal static extern void dtor_0(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.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Field(native.ToPointer(), skipVTables); + return new NonTypeTemplateParameter(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.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new Field(native, skipVTables); + return new NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__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 Field(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11026,19 +10514,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Field(global::CppSharp.Parser.AST.Field _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11057,67 +10545,67 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Expression DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType); + 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.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.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Class Class + public uint Position { 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.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position = value; } } - public bool IsBitField + public bool IsPackExpansion { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint BitWidth + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 200)] public new partial struct __Internal { [FieldOffset(0)] @@ -11175,55 +10663,75 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(144)] - public uint depth; - - [FieldOffset(148)] - public uint index; + public global::System.IntPtr TemplatedDecl; [FieldOffset(152)] - public byte isParameterPack; + internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Specializations; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] - internal static extern void ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE")] + internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount_0(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.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplate(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.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) { - return new TemplateParameter(native, skipVTables); + return new ClassTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11232,19 +10740,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public ClassTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) + public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11263,54 +10771,43 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + var __ret = __Internal.GetSpecializations_0((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public uint Depth + public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth = value; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public void ClearSpecializations() { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index = value; - } + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); } - public bool IsParameterPack + public uint SpecializationsCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 184)] + [StructLayout(LayoutKind.Explicit, Size = 576)] public new partial struct __Internal { [FieldOffset(0)] @@ -11319,110 +10816,202 @@ namespace CppSharp [FieldOffset(4)] public global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(40)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(48)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(56)] + public byte isIncomplete; + + [FieldOffset(57)] + public byte isDependent; + + [FieldOffset(58)] + public byte isImplicit; + + [FieldOffset(64)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(72)] + public uint definitionOrder; + + [FieldOffset(80)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(104)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(128)] + public global::System.IntPtr originalPtr; + + [FieldOffset(136)] + public global::System.IntPtr comment; + + [FieldOffset(144)] + internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(168)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(192)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(216)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(240)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(264)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Variables; - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(336)] + internal global::Std.Vector.__Internal Friends; - [FieldOffset(20)] - public int lineNumberStart; + [FieldOffset(360)] + internal global::Std.Map.__Internal anonymous; - [FieldOffset(24)] - public int lineNumberEnd; + [FieldOffset(408)] + public byte isAnonymous; - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; + [FieldOffset(416)] + internal global::Std.Vector.__Internal Bases; - [FieldOffset(40)] - public global::Std.BasicString.__Internal USR; + [FieldOffset(440)] + internal global::Std.Vector.__Internal Fields; - [FieldOffset(48)] - public global::Std.BasicString.__Internal DebugText; + [FieldOffset(464)] + internal global::Std.Vector.__Internal Methods; - [FieldOffset(56)] - public byte isIncomplete; + [FieldOffset(488)] + internal global::Std.Vector.__Internal Specifiers; - [FieldOffset(57)] - public byte isDependent; + [FieldOffset(512)] + public byte isPOD; - [FieldOffset(58)] - public byte isImplicit; + [FieldOffset(513)] + public byte isAbstract; - [FieldOffset(64)] - public global::System.IntPtr completeDeclaration; + [FieldOffset(514)] + public byte isUnion; - [FieldOffset(72)] - public uint definitionOrder; + [FieldOffset(515)] + public byte isDynamic; - [FieldOffset(80)] - internal global::Std.Vector.__Internal PreprocessedEntities; + [FieldOffset(516)] + public byte isPolymorphic; - [FieldOffset(104)] - internal global::Std.Vector.__Internal Redeclarations; + [FieldOffset(517)] + public byte hasNonTrivialDefaultConstructor; - [FieldOffset(128)] - public global::System.IntPtr originalPtr; + [FieldOffset(518)] + public byte hasNonTrivialCopyConstructor; - [FieldOffset(136)] - public global::System.IntPtr comment; + [FieldOffset(519)] + public byte hasNonTrivialDestructor; - [FieldOffset(144)] - public global::System.IntPtr TemplatedDecl; + [FieldOffset(520)] + public byte isExternCContext; - [FieldOffset(152)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(521)] + public byte isInjected; - [FieldOffset(176)] - public byte isParameterPack; + [FieldOffset(528)] + public global::System.IntPtr layout; - [FieldOffset(177)] - public byte isPackExpansion; + [FieldOffset(536)] + public global::System.IntPtr templatedDecl; - [FieldOffset(178)] - public byte isExpandedParameterPack; + [FieldOffset(544)] + internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(568)] + public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] + internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint GetArgumentsCount_0(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.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplateSpecialization(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.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new TemplateTemplateParameter(native, skipVTables); + return new ClassTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11431,19 +11020,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11462,49 +11051,70 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsParameterPack + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0(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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + global::CppSharp.Parser.AST.ClassTemplate __result0; + if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsPackExpansion + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; } } - public bool IsExpandedParameterPack + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 176)] + [StructLayout(LayoutKind.Explicit, Size = 576)] public new partial struct __Internal { [FieldOffset(0)] @@ -11561,68 +11171,134 @@ namespace CppSharp [FieldOffset(136)] public global::System.IntPtr comment; - [FieldOffset(144)] - public uint depth; + [FieldOffset(144)] + internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(168)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(192)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(216)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(240)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(264)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(336)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(360)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(408)] + public byte isAnonymous; + + [FieldOffset(416)] + internal global::Std.Vector.__Internal Bases; + + [FieldOffset(440)] + internal global::Std.Vector.__Internal Fields; + + [FieldOffset(464)] + internal global::Std.Vector.__Internal Methods; + + [FieldOffset(488)] + internal global::Std.Vector.__Internal Specifiers; + + [FieldOffset(512)] + public byte isPOD; + + [FieldOffset(513)] + public byte isAbstract; + + [FieldOffset(514)] + public byte isUnion; + + [FieldOffset(515)] + public byte isDynamic; + + [FieldOffset(516)] + public byte isPolymorphic; + + [FieldOffset(517)] + public byte hasNonTrivialDefaultConstructor; + + [FieldOffset(518)] + public byte hasNonTrivialCopyConstructor; + + [FieldOffset(519)] + public byte hasNonTrivialDestructor; - [FieldOffset(148)] - public uint index; + [FieldOffset(520)] + public byte isExternCContext; - [FieldOffset(152)] - public byte isParameterPack; + [FieldOffset(521)] + public byte isInjected; - [FieldOffset(160)] - public global::System.IntPtr defaultArgument; + [FieldOffset(528)] + public global::System.IntPtr layout; - [FieldOffset(168)] - public uint position; + [FieldOffset(536)] + public global::System.IntPtr templatedDecl; - [FieldOffset(172)] - public byte isPackExpansion; + [FieldOffset(544)] + internal global::Std.Vector.__Internal Arguments; - [FieldOffset(173)] - public byte isExpandedParameterPack; + [FieldOffset(568)] + public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] internal static extern void dtor_0(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.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplatePartialSpecialization(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.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new NonTypeTemplateParameter(native, skipVTables); + return new ClassTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11631,19 +11307,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11661,68 +11337,11 @@ namespace CppSharp if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - - 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 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); - } - } } - public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 576)] + [StructLayout(LayoutKind.Explicit, Size = 200)] public new partial struct __Internal { [FieldOffset(0)] @@ -11780,174 +11399,251 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(144)] - internal global::Std.Vector.__Internal Namespaces; - - [FieldOffset(168)] - internal global::Std.Vector.__Internal Enums; - - [FieldOffset(192)] - internal global::Std.Vector.__Internal Functions; - - [FieldOffset(216)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(240)] - internal global::Std.Vector.__Internal Templates; + public global::System.IntPtr TemplatedDecl; - [FieldOffset(264)] - internal global::Std.Vector.__Internal Typedefs; + [FieldOffset(152)] + internal global::Std.Vector.__Internal Parameters; - [FieldOffset(288)] - internal global::Std.Vector.__Internal TypeAliases; + [FieldOffset(176)] + internal global::Std.Vector.__Internal Specializations; - [FieldOffset(312)] - internal global::Std.Vector.__Internal Variables; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(336)] - internal global::Std.Vector.__Internal Friends; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(360)] - internal global::Std.Map.__Internal anonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(408)] - public byte isAnonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); - [FieldOffset(416)] - internal global::Std.Vector.__Internal Bases; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE")] + internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(440)] - internal global::Std.Vector.__Internal Fields; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); - [FieldOffset(464)] - internal global::Std.Vector.__Internal Methods; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); + } - [FieldOffset(488)] - internal global::Std.Vector.__Internal Specifiers; + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new FunctionTemplate(native.ToPointer(), skipVTables); + } - [FieldOffset(512)] - public byte isPOD; + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + { + return new FunctionTemplate(native, skipVTables); + } - [FieldOffset(513)] - public byte isAbstract; + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(514)] - public byte isUnion; + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(515)] - public byte isDynamic; + protected FunctionTemplate(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(516)] - public byte isPolymorphic; + public FunctionTemplate() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(517)] - public byte hasNonTrivialDefaultConstructor; + 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_1((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(518)] - public byte hasNonTrivialCopyConstructor; + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - [FieldOffset(519)] - public byte hasNonTrivialDestructor; + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations_0((__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(520)] - public byte isExternCContext; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(521)] - public byte isInjected; + public void ClearSpecializations() + { + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(528)] - public global::System.IntPtr layout; + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(536)] - public global::System.IntPtr templatedDecl; + public unsafe partial class FunctionTemplateSpecialization : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::System.IntPtr _template; - [FieldOffset(544)] + [FieldOffset(8)] internal global::Std.Vector.__Internal Arguments; - [FieldOffset(568)] + [FieldOffset(32)] + public global::System.IntPtr specializedFunction; + + [FieldOffset(40)] public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj")] internal static extern void GetArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv")] internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __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 ClassTemplateSpecialization(native.ToPointer(), skipVTables); + return new FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__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 ClassTemplateSpecialization(native, skipVTables); + return new FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__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 ClassTemplateSpecialization(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 ClassTemplateSpecialization() - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11956,9 +11652,14 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment)); @@ -11986,21 +11687,39 @@ namespace CppSharp __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + public global::CppSharp.Parser.AST.FunctionTemplate Template { get { - global::CppSharp.Parser.AST.ClassTemplate __result0; - if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + 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.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl = 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; } } @@ -12008,12 +11727,12 @@ namespace CppSharp { get { - return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; } } @@ -12027,9 +11746,9 @@ namespace CppSharp } } - public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 576)] + [StructLayout(LayoutKind.Explicit, Size = 200)] public new partial struct __Internal { [FieldOffset(0)] @@ -12087,133 +11806,75 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(144)] - internal global::Std.Vector.__Internal Namespaces; - - [FieldOffset(168)] - internal global::Std.Vector.__Internal Enums; - - [FieldOffset(192)] - internal global::Std.Vector.__Internal Functions; - - [FieldOffset(216)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(240)] - internal global::Std.Vector.__Internal Templates; - - [FieldOffset(264)] - internal global::Std.Vector.__Internal Typedefs; - - [FieldOffset(288)] - internal global::Std.Vector.__Internal TypeAliases; - - [FieldOffset(312)] - internal global::Std.Vector.__Internal Variables; - - [FieldOffset(336)] - internal global::Std.Vector.__Internal Friends; - - [FieldOffset(360)] - internal global::Std.Map.__Internal anonymous; - - [FieldOffset(408)] - public byte isAnonymous; - - [FieldOffset(416)] - internal global::Std.Vector.__Internal Bases; - - [FieldOffset(440)] - internal global::Std.Vector.__Internal Fields; - - [FieldOffset(464)] - internal global::Std.Vector.__Internal Methods; - - [FieldOffset(488)] - internal global::Std.Vector.__Internal Specifiers; - - [FieldOffset(512)] - public byte isPOD; - - [FieldOffset(513)] - public byte isAbstract; - - [FieldOffset(514)] - public byte isUnion; - - [FieldOffset(515)] - public byte isDynamic; - - [FieldOffset(516)] - public byte isPolymorphic; - - [FieldOffset(517)] - public byte hasNonTrivialDefaultConstructor; - - [FieldOffset(518)] - public byte hasNonTrivialCopyConstructor; - - [FieldOffset(519)] - public byte hasNonTrivialDestructor; + public global::System.IntPtr TemplatedDecl; - [FieldOffset(520)] - public byte isExternCContext; + [FieldOffset(152)] + internal global::Std.Vector.__Internal Parameters; - [FieldOffset(521)] - public byte isInjected; + [FieldOffset(176)] + internal global::Std.Vector.__Internal Specializations; - [FieldOffset(528)] - public global::System.IntPtr layout; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); - [FieldOffset(536)] - public global::System.IntPtr templatedDecl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(544)] - internal global::Std.Vector.__Internal Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); - [FieldOffset(568)] - public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] + internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] - internal static extern void ctor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] + internal static extern void AddSpecializations_0(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_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] - internal static extern void dtor_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] + internal static extern uint GetSpecializationsCount_0(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.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new VarTemplate(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.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new ClassTemplatePartialSpecialization(native, skipVTables); + return new VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__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 ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12222,19 +11883,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12252,6 +11913,39 @@ namespace CppSharp if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + } + + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } } public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable @@ -12644,9 +12338,9 @@ namespace CppSharp } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 200)] + [StructLayout(LayoutKind.Explicit, Size = 416)] public new partial struct __Internal { [FieldOffset(0)] @@ -12704,144 +12398,264 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(144)] - public global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internal Namespaces; - [FieldOffset(152)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(168)] + internal global::Std.Vector.__Internal Enums; - [FieldOffset(176)] - internal global::Std.Vector.__Internal Specializations; + [FieldOffset(192)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(216)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(240)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(264)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(336)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(360)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(408)] + public byte isAnonymous; + + [FieldOffset(409)] + public byte isInline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev")] + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] internal static extern void dtor_0(global::System.IntPtr instance); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj")] - internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Namespace(native.ToPointer(), skipVTables); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE")] - internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + { + return new Namespace(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Namespace(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Namespace() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Namespace(global::CppSharp.Parser.AST.Namespace _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class PreprocessedEntity : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] + public global::System.IntPtr originalPtr; + + [FieldOffset(16)] + public global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv")] - internal static extern void ClearSpecializations_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv")] - internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.VarTemplate __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.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new VarTemplate(native.ToPointer(), skipVTables); + return new PreprocessedEntity(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.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) { - return new VarTemplate(native, skipVTables); + return new PreprocessedEntity(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; return ret.ToPointer(); } - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected PreprocessedEntity(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VarTemplate() - : this((void*) null) + public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) - : this((void*) null) + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__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_1((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment)); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { - var __ret = __Internal.GetSpecializations_0((__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; - } + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; + } - 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_0((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation = value; + } } - public void ClearSpecializations() + public global::System.IntPtr OriginalPtr { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; + } + + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.DeclarationKind Kind { get { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind = value; } } } @@ -16422,6 +16236,192 @@ namespace CppSharp } } } + + public unsafe partial class RawComment : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.RawCommentKind kind; + + [FieldOffset(8)] + public global::Std.BasicString.__Internal Text; + + [FieldOffset(16)] + public global::Std.BasicString.__Internal BriefText; + + [FieldOffset(24)] + public global::System.IntPtr fullCommentBlock; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7getTextEv")] + internal static extern global::System.IntPtr Text_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc")] + internal static extern void SetText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv")] + internal static extern global::System.IntPtr BriefText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc")] + internal static extern void SetBriefText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } + + 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 RawComment(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + { + return new RawComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected RawComment(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public RawComment() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public RawComment(global::CppSharp.Parser.AST.RawComment _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.RawComment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + 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 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; + } + } + + public string Text + { + get + { + var __ret = __Internal.Text_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetText_0((__Instance + __PointerAdjustment), value); + } + } + + public string BriefText + { + get + { + var __ret = __Internal.BriefText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBriefText_0((__Instance + __PointerAdjustment), value); + } + } + } } } } 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 7bf8b1f7..506a34bd 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 @@ -669,201 +669,192 @@ namespace CppSharp } } - public unsafe partial class Declaration : IDisposable + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 216)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(64)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(96)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] public byte isDependent; - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(200)] - public global::System.IntPtr originalPtr; - - [FieldOffset(208)] - public global::System.IntPtr comment; + [FieldOffset(8)] + public global::System.IntPtr declaration; [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_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="??0TagType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor_0(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="??0TagType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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_0(global::System.IntPtr instance, int delete); + internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TagType(native.ToPointer(), skipVTables); + } - [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_0(global::System.IntPtr instance, uint i); + internal static global::CppSharp.Parser.AST.TagType __CreateInstance(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + { + return new TagType(native, skipVTables); + } - [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_0(global::System.IntPtr instance, global::System.IntPtr s); + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearPreprocessedEntities_0(global::System.IntPtr instance); + private TagType(global::CppSharp.Parser.AST.TagType.__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="?getRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAPEAV1234@I@Z")] - internal static extern global::System.IntPtr GetRedeclarations_0(global::System.IntPtr instance, uint i); + protected TagType(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="?addRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAXAEAPEAV1234@@Z")] - internal static extern void AddRedeclarations_0(global::System.IntPtr instance, global::System.IntPtr s); + public TagType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearRedeclarations_0(global::System.IntPtr instance); + 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_1((__Instance + __PointerAdjustment), __arg0); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getName@Declaration@AST@CppParser@CppSharp@@QEAAPEBDXZ")] - internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?setName@Declaration@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + set + { + ((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getUSR@Declaration@AST@CppParser@CppSharp@@QEAAPEBDXZ")] - internal static extern global::System.IntPtr USR_0(global::System.IntPtr instance); + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?setUSR@Declaration@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void SetUSR_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(4)] + public byte isDependent; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getDebugText@Declaration@AST@CppParser@CppSharp@@QEAAPEBDXZ")] - internal static extern global::System.IntPtr DebugText_0(global::System.IntPtr instance); + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?setDebugText@Declaration@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void SetDebugText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + [FieldOffset(24)] + public global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + + [FieldOffset(28)] + public int size; + + [FieldOffset(32)] + public int elementSize; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getPreprocessedEntitiesCount@Declaration@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetPreprocessedEntitiesCount_0(global::System.IntPtr instance); + EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor_0(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_0(global::System.IntPtr instance); + EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(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; + 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 Declaration(native.ToPointer(), skipVTables); + return new 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 Declaration(native, skipVTables); + return new 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_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_1(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_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__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)) @@ -872,322 +863,375 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - Dispose(disposing: true); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 virtual void Dispose(bool disposing) + public global::CppSharp.Parser.AST.ArrayType.ArraySize SizeType { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->sizeType = value; + } } - public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + public int Size { - var __ret = __Internal.GetPreprocessedEntities_0((__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)->size; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size = value; + } } - public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + public int ElementSize { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + } + + set + { + ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize = value; + } } + } - public void ClearPreprocessedEntities() + public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal { - __Internal.ClearPreprocessedEntities_0((__Instance + __PointerAdjustment)); + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + public byte isDependent; + + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(24)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(28)] + public global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(32)] + internal global::Std.Vector.__Internal 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_0(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_1(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_0(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_0(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_0(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_0(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_0(global::System.IntPtr instance); } - public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + internal static new global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - var __ret = __Internal.GetRedeclarations_0((__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; + return new FunctionType(native.ToPointer(), skipVTables); } - public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + internal static global::CppSharp.Parser.AST.FunctionType __CreateInstance(global::CppSharp.Parser.AST.FunctionType.__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.AddRedeclarations_0((__Instance + __PointerAdjustment), __arg0); + return new FunctionType(native, skipVTables); } - public void ClearRedeclarations() + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) { - __Internal.ClearRedeclarations_0((__Instance + __PointerAdjustment)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + private FunctionType(global::CppSharp.Parser.AST.FunctionType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - return new global::CppSharp.Parser.AST.Declaration(kind); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; } - public global::CppSharp.Parser.AST.DeclarationKind Kind + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind; - } + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->kind = value; - } + public FunctionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.AccessSpecifier Access + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access; - } + __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_1((__Instance + __PointerAdjustment), __arg0); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->access = value; - } + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.DeclarationContext Namespace + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) { - 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; - } + var __ret = __Internal.GetParameters_0((__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; + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->_namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.SourceLocation Location + public void ClearParameters() + { + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + } + + 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(((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 bool IsIncomplete + public uint ParametersCount { get { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; } + } + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete = (byte) (value ? 1 : 0); - } - } - - public bool IsDependent + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent = (byte) (value ? 1 : 0); - } - } + [FieldOffset(4)] + public byte isDependent; - public bool IsImplicit - { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; - } + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit = (byte) (value ? 1 : 0); - } - } + [FieldOffset(24)] + public global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration - { - 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; - } + [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_0(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__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_1(global::System.IntPtr instance, global::System.IntPtr _0); } - public uint DefinitionOrder + public enum TypeModifier { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder = value; - } + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 } - public global::System.IntPtr OriginalPtr + internal static new global::CppSharp.Parser.AST.PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; - } + return new PointerType(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.RawComment Comment + internal static global::CppSharp.Parser.AST.PointerType __CreateInstance(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) { - 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; - } + return new PointerType(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public string Name + private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - __Internal.SetName_0((__Instance + __PointerAdjustment), value); - } + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public string USR + public PointerType() + : this((void*) null) { - get - { - var __ret = __Internal.USR_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - set - { - __Internal.SetUSR_0((__Instance + __PointerAdjustment), value); - } + 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_1((__Instance + __PointerAdjustment), __arg0); } - public string DebugText + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee { get { - var __ret = __Internal.DebugText_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee); } set { - __Internal.SetDebugText_0((__Instance + __PointerAdjustment), value); + ((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 uint PreprocessedEntitiesCount + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier { get { - var __ret = __Internal.GetPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; } - } - public uint RedeclarationsCount - { - get + set { - var __ret = __Internal.GetRedeclarationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier = value; } } } - public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { [FieldOffset(0)] @@ -1197,44 +1241,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr declaration; + public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TagType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TagType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TagType(native.ToPointer(), skipVTables); + return new MemberPointerType(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.MemberPointerType __CreateInstance(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) { - return new TagType(native, skipVTables); + return new MemberPointerType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TagType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); - global::CppSharp.Parser.AST.TagType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TagType(global::CppSharp.Parser.AST.TagType.__Internal native, bool skipVTables = false) + private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TagType(void* native, bool skipVTables = false) + protected MemberPointerType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1243,19 +1287,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TagType() + public MemberPointerType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TagType(global::CppSharp.Parser.AST.TagType _0) + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1264,28 +1308,23 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.QualifiedType Pointee { 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(((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee); } set { - ((global::CppSharp.Parser.AST.TagType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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 ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { [FieldOffset(0)] @@ -1295,61 +1334,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(24)] - public global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; - - [FieldOffset(28)] - public int size; - - [FieldOffset(32)] - public int elementSize; + public global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ArrayType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - public enum ArraySize + internal static new global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Constant = 0, - Variable = 1, - Dependent = 2, - Incomplete = 3 + return new TypedefType(native.ToPointer(), skipVTables); } - internal static new global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static global::CppSharp.Parser.AST.TypedefType __CreateInstance(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) { - return new ArrayType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.ArrayType __CreateInstance(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) - { - return new ArrayType(native, skipVTables); + return new TypedefType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ArrayType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); - global::CppSharp.Parser.AST.ArrayType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ArrayType(global::CppSharp.Parser.AST.ArrayType.__Internal native, bool skipVTables = false) + private TypedefType(global::CppSharp.Parser.AST.TypedefType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected ArrayType(void* native, bool skipVTables = false) + protected TypedefType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1358,19 +1380,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ArrayType() + public TypedefType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1379,174 +1401,78 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 int Size - { - get - { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size; - } - - set - { - ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->size = value; - } - } - - public int ElementSize + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration { get { - return ((global::CppSharp.Parser.AST.ArrayType.__Internal*) __Instance)->elementSize; + 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.ArrayType.__Internal*) __Instance)->elementSize = value; + ((global::CppSharp.Parser.AST.TypedefType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 248)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; + public global::CppSharp.Parser.AST.QualifiedType.__Internal modified; [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(64)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(96)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] - public byte isDependent; - - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(200)] - public global::System.IntPtr originalPtr; - - [FieldOffset(208)] - public global::System.IntPtr comment; - - [FieldOffset(216)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - - [FieldOffset(232)] - public byte isIndirect; - - [FieldOffset(233)] - public byte hasDefaultValue; - - [FieldOffset(236)] - public uint index; - - [FieldOffset(240)] - public global::System.IntPtr defaultArgument; + public global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Parameter@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Parameter(native.ToPointer(), skipVTables); + return new AttributedType(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.AttributedType __CreateInstance(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) { - return new Parameter(native, skipVTables); + return new AttributedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); - global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Parameter(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) + private AttributedType(global::CppSharp.Parser.AST.AttributedType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected Parameter(void* native, bool skipVTables = false) + protected AttributedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1555,19 +1481,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Parameter() + public AttributedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Parameter(global::CppSharp.Parser.AST.Parameter _0) + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1576,88 +1502,34 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 - { - get - { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue = (byte) (value ? 1 : 0); - } - } - - public uint Index + public global::CppSharp.Parser.AST.QualifiedType Modified { get { - return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified); } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index = value; + ((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; } } - public global::CppSharp.Parser.AST.Expression DefaultArgument + public global::CppSharp.Parser.AST.QualifiedType Equivalent { 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; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent); } set { - ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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; } } } - public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal @@ -1669,78 +1541,50 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + public global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; [FieldOffset(24)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; + public global::CppSharp.Parser.AST.QualifiedType.__Internal original; - [FieldOffset(28)] - public global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; - - [FieldOffset(32)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(40)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0DecayedType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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_0(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_0(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_0(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_0(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_0(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.DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new FunctionType(native.ToPointer(), skipVTables); + return new DecayedType(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.DecayedType __CreateInstance(global::CppSharp.Parser.AST.DecayedType.__Internal native, bool skipVTables = false) { - return new FunctionType(native, skipVTables); + return new DecayedType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); - global::CppSharp.Parser.AST.FunctionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionType(global::CppSharp.Parser.AST.FunctionType.__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 FunctionType(void* native, bool skipVTables = false) + protected DecayedType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -1749,19 +1593,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public FunctionType() + public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -1770,209 +1614,215 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType + public global::CppSharp.Parser.AST.QualifiedType Decayed { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->returnType); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed); } 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.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.CallingConvention CallingConvention + public global::CppSharp.Parser.AST.QualifiedType Original { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original); } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->callingConvention = value; + ((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.ExceptionSpecType ExceptionSpecType + public global::CppSharp.Parser.AST.QualifiedType Pointee { get { - return ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->pointee); } set { - ((global::CppSharp.Parser.AST.FunctionType.__Internal*) __Instance)->exceptionSpecType = value; - } - } - - public uint ParametersCount - { - get - { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); - return __ret; + ((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 unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateArgument : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + public global::CppSharp.Parser.AST.QualifiedType.__Internal type; [FieldOffset(24)] - public global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + public global::System.IntPtr declaration; + + [FieldOffset(32)] + public int integral; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PointerType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - public enum TypeModifier + public enum ArgumentKind { - Value = 0, - Pointer = 1, - LVReference = 2, - RVReference = 3 + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 } - internal static new global::CppSharp.Parser.AST.PointerType __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.TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new PointerType(native.ToPointer(), skipVTables); + return new TemplateArgument(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.TemplateArgument __CreateInstance(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) { - return new PointerType(native, skipVTables); + return new TemplateArgument(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); - global::CppSharp.Parser.AST.PointerType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) ret = native; return ret.ToPointer(); } - private PointerType(global::CppSharp.Parser.AST.PointerType.__Internal native, bool skipVTables = false) + private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected PointerType(void* native, bool skipVTables = false) - : base((void*) null) + protected TemplateArgument(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PointerType() - : this((void*) null) + public TemplateArgument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public PointerType(global::CppSharp.Parser.AST.PointerType _0) - : this((void*) null) + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__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_1((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->qualifiedPointee); + return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->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; + ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind = value; } } - public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier + public global::CppSharp.Parser.AST.QualifiedType Type { get { - return ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type); } set { - ((global::CppSharp.Parser.AST.PointerType.__Internal*) __Instance)->modifier = value; + ((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 MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { [FieldOffset(0)] @@ -1982,44 +1832,75 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(32)] + public global::System.IntPtr _template; + + [FieldOffset(40)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0MemberPointerType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + internal static extern void dtor_0(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_0(global::System.IntPtr instance, global::System.IntPtr @return, 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_0(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_0(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_0(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.TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new MemberPointerType(native.ToPointer(), skipVTables); + return new TemplateSpecializationType(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.TemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new MemberPointerType(native, skipVTables); + return new TemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.MemberPointerType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); - global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType.__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 MemberPointerType(void* native, bool skipVTables = false) + protected TemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2028,19 +1909,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public MemberPointerType() + public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2049,123 +1930,155 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Pointee + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Template Template { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.MemberPointerType.__Internal*) __Instance)->pointee); + 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.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.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(((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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; + internal global::Std.Vector.__Internal Arguments; [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(64)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(96)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] - public byte isDependent; - - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; + [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_0(global::System.IntPtr instance); - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + [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_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(208)] - public global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); - [FieldOffset(216)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="?addArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?clearArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + EntryPoint="?getArgumentsCount@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + internal static new global::CppSharp.Parser.AST.DependentTemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypedefNameDecl(native.ToPointer(), skipVTables); + return new DependentTemplateSpecializationType(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.DependentTemplateSpecializationType __CreateInstance(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) { - return new TypedefNameDecl(native, skipVTables); + return new DependentTemplateSpecializationType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl.__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 TypedefNameDecl(void* native, bool skipVTables = false) + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2174,19 +2087,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2197,7 +2110,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Type __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -2205,28 +2118,52 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) { - return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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.AddArguments_0((__Instance + __PointerAdjustment), __arg0); + } - 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; + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -2236,44 +2173,58 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr declaration; + public global::System.IntPtr parameter; + + [FieldOffset(16)] + public uint depth; + + [FieldOffset(20)] + public uint index; + + [FieldOffset(24)] + public byte isParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypedefType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0TemplateParameterType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TypedefType __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 TypedefType(native.ToPointer(), skipVTables); + return new TemplateParameterType(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.TemplateParameterType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native, bool skipVTables = false) { - return new TypedefType(native, skipVTables); + return new TemplateParameterType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); - global::CppSharp.Parser.AST.TypedefType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefType(global::CppSharp.Parser.AST.TypedefType.__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 TypedefType(void* native, bool skipVTables = false) + protected TemplateParameterType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2282,19 +2233,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefType() + public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2303,28 +2254,77 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter { 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); + 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.TypedefType.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint Depth + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth = value; + } + } + + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; + } + + set + { + ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index = value; + } + } + + public bool IsParameterPack + { + get + { + 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 AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -2334,47 +2334,47 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + public global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + public global::System.IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0AttributedType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.AttributedType __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 AttributedType(native.ToPointer(), skipVTables); + return new TemplateParameterSubstitutionType(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.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native, bool skipVTables = false) { - return new AttributedType(native, skipVTables); + return new TemplateParameterSubstitutionType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AttributedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); - global::CppSharp.Parser.AST.AttributedType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AttributedType(global::CppSharp.Parser.AST.AttributedType.__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 AttributedType(void* native, bool skipVTables = false) + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2383,19 +2383,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AttributedType() + public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2404,36 +2404,41 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Modified + public global::CppSharp.Parser.AST.QualifiedType Replacement { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->modified); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement); } 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.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.QualifiedType Equivalent + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.AttributedType.__Internal*) __Instance)->equivalent); + 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.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.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -2443,50 +2448,47 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + public global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal original; - - [FieldOffset(40)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + public global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DecayedType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0InjectedClassNameType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.DecayedType __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 DecayedType(native.ToPointer(), skipVTables); + return new InjectedClassNameType(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.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) { - return new DecayedType(native, skipVTables); + return new InjectedClassNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DecayedType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); - global::CppSharp.Parser.AST.DecayedType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DecayedType(global::CppSharp.Parser.AST.DecayedType.__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 DecayedType(void* native, bool skipVTables = false) + protected InjectedClassNameType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2495,19 +2497,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DecayedType() + public InjectedClassNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -2516,343 +2518,261 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Decayed + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->decayed); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->injectedSpecializationType); } 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; + ((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 global::CppSharp.Parser.AST.QualifiedType Original + public global::CppSharp.Parser.AST.Class Class { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DecayedType.__Internal*) __Instance)->original); + 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.DecayedType.__Internal*) __Instance)->original = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((global::CppSharp.Parser.AST.InjectedClassNameType.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } + } - public global::CppSharp.Parser.AST.QualifiedType Pointee - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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; - } - } - } - - public unsafe partial class TemplateArgument : IDisposable + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal type; + public global::CppSharp.Parser.AST.TypeKind kind; - [FieldOffset(24)] - public global::System.IntPtr declaration; + [FieldOffset(4)] + public byte isDependent; - [FieldOffset(32)] - public int integral; + [FieldOffset(8)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateArgument@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + EntryPoint="??0DependentNameType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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) + internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateArgument(native.ToPointer(), skipVTables); + return new DependentNameType(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.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) { - return new TemplateArgument(native, skipVTables); + return new DependentNameType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateArgument.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.DependentNameType.__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.DependentNameType.__Internal)); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument.__Internal native, bool skipVTables = false) + private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateArgument(void* native, bool skipVTables = false) + protected DependentNameType(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public TemplateArgument() + public DependentNameType() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__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) - { - global::CppSharp.Parser.AST.TemplateArgument __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__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_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind + public global::CppSharp.Parser.AST.QualifiedType Desugared { get { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->kind = value; + ((global::CppSharp.Parser.AST.DependentNameType.__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.QualifiedType Type + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct __Internal { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->type); - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.TypeKind kind; - 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; - } + [FieldOffset(4)] + public byte isDependent; + + [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_0(global::System.IntPtr instance); + + [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_1(global::System.IntPtr instance, global::System.IntPtr _0); } - public global::CppSharp.Parser.AST.Declaration Declaration + internal static new global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - 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 new PackExpansionType(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) + { + return new PackExpansionType(native, skipVTables); } - public int Integral + private static void* __CopyValue(global::CppSharp.Parser.AST.PackExpansionType.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance)->integral = value; - } + 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_0((__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_1((__Instance + __PointerAdjustment), __arg0); } } - public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 248)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.TypeKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public byte isDependent; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; + public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [FieldOffset(24)] - public int lineNumberEnd; + public global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); - [FieldOffset(64)] - public global::Std.BasicString.__Internal USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + } - [FieldOffset(96)] - public global::Std.BasicString.__Internal DebugText; + internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new UnaryTransformType(native.ToPointer(), skipVTables); + } - [FieldOffset(128)] - public byte isIncomplete; + internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) + { + return new UnaryTransformType(native, skipVTables); + } - [FieldOffset(129)] - public byte isDependent; + private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(200)] - public global::System.IntPtr originalPtr; - - [FieldOffset(208)] - public global::System.IntPtr comment; - - [FieldOffset(216)] - public global::System.IntPtr TemplatedDecl; - - [FieldOffset(224)] - internal global::Std.Vector.__Internal Parameters; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] - internal static extern global::System.IntPtr ctor_0(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_1(global::System.IntPtr instance); - - [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_2(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Template@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(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_0(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_0(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_0(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_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new Template(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) - { - return new 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_2(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private Template(global::CppSharp.Parser.AST.Template.__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 Template(void* native, bool skipVTables = false) + protected UnaryTransformType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -2861,106 +2781,57 @@ namespace CppSharp __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_0((__Instance + __PointerAdjustment), kind); - } - - public Template() + public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_1((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Template(global::CppSharp.Parser.AST.Template _0) + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__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_2((__Instance + __PointerAdjustment), __arg0); - } - - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__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); + __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.Declaration TemplatedDecl + public global::CppSharp.Parser.AST.QualifiedType Desugared { 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.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->desugared); } set { - ((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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 uint ParametersCount + public global::CppSharp.Parser.AST.QualifiedType BaseType { get { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); - return __ret; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType); + } + + 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; } } } - public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { [FieldOffset(0)] @@ -2970,75 +2841,47 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - internal global::Std.Vector.__Internal Arguments; - - [FieldOffset(32)] - public global::System.IntPtr _template; + public global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - [FieldOffset(40)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + [FieldOffset(24)] + public uint numElements; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0VectorType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0VectorType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] - internal static extern void dtor_0(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_0(global::System.IntPtr instance, global::System.IntPtr @return, 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_0(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_0(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_0(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.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateSpecializationType(native.ToPointer(), skipVTables); + return new VectorType(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.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) { - return new TemplateSpecializationType(native, skipVTables); + return new VectorType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VectorType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal native, bool skipVTables = false) + private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateSpecializationType(void* native, bool skipVTables = false) + protected VectorType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -3047,19 +2890,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateSpecializationType() + public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3068,80 +2911,36 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.QualifiedType ElementType { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType); + } + + 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; + } } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments_0((__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 + public uint NumElements { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal*) __Instance)->desugared); + return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; } 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_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements = value; } } } - public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { [FieldOffset(0)] @@ -3151,72 +2950,44 @@ namespace CppSharp public byte isDependent; [FieldOffset(8)] - internal global::Std.Vector.__Internal Arguments; - - [FieldOffset(32)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + public global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0BuiltinType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); - - [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - - [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_0(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@DependentTemplateSpecializationType@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments_0(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_0(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.BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + return new BuiltinType(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.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) { - return new DependentTemplateSpecializationType(native, skipVTables); + return new BuiltinType(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BuiltinType.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); - global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal native, bool skipVTables = false) + private BuiltinType(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + protected BuiltinType(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -3225,19 +2996,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public DependentTemplateSpecializationType() + public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3246,309 +3017,252 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Type __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) - { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearArguments() - { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared + public global::CppSharp.Parser.AST.PrimitiveType Type { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal*) __Instance)->desugared); + return ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type; } 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_0((__Instance + __PointerAdjustment)); - return __ret; + ((global::CppSharp.Parser.AST.BuiltinType.__Internal*) __Instance)->type = value; } } } - public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class VTableComponent : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 248)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.AST.VTableComponentKind kind; [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public uint offset; [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(64)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(96)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] - public byte isDependent; - - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(200)] - public global::System.IntPtr originalPtr; - - [FieldOffset(208)] - public global::System.IntPtr comment; - - [FieldOffset(216)] - public uint depth; - - [FieldOffset(220)] - public uint index; - - [FieldOffset(224)] - public byte isParameterPack; - - [FieldOffset(232)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; + public global::System.IntPtr declaration; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0VTableComponent@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] internal static extern global::System.IntPtr cctor_1(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_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TypeTemplateParameter __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.VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TypeTemplateParameter(native.ToPointer(), skipVTables); + return new VTableComponent(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.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) { - return new TypeTemplateParameter(native, skipVTables); + return new VTableComponent(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableComponent.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(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 TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter.__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 TypeTemplateParameter(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 TypeTemplateParameter() - : this((void*) null) + public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) - : this((void*) null) + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__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_1((__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() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VTableComponent __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + public global::CppSharp.Parser.AST.VTableComponentKind Kind { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument); + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->kind; } 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.VTableComponent.__Internal*) __Instance)->kind = value; } } - } - public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + public uint Offset { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + get + { + return ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset; + } - [FieldOffset(8)] - public global::System.IntPtr parameter; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->offset = value; + } + } - [FieldOffset(16)] - public uint depth; + 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(20)] - public uint index; + set + { + ((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(24)] - public byte isParameterPack; + public unsafe partial class VTableLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.Vector.__Internal Components; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameterType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0VTableLayout@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0VTableLayout@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1VTableLayout@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(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_0(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_0(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_0(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_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TemplateParameterType __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 TemplateParameterType(native.ToPointer(), skipVTables); + return new VTableLayout(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.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) { - return new TemplateParameterType(native, skipVTables); + return new VTableLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterType.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VTableLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType.__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 TemplateParameterType(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 TemplateParameterType() - : this((void*) null) + public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) - : this((void*) null) + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3557,9 +3271,14 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Type __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VTableLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -3567,138 +3286,119 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter + public global::CppSharp.Parser.AST.VTableComponent GetComponents(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; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } + var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); + __Internal.GetComponents_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); } - public uint Depth + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->depth = value; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public void ClearComponents() { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameterType.__Internal*) __Instance)->index = value; - } + __Internal.ClearComponents_0((__Instance + __PointerAdjustment)); } - public bool IsParameterPack + public uint ComponentsCount { 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.GetComponentsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable + public unsafe partial class VFTableInfo : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; + public ulong VBTableIndex; [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + public uint VFPtrOffset; - [FieldOffset(24)] - public global::System.IntPtr replacedParameter; + [FieldOffset(12)] + public uint VFPtrFullOffset; + + [FieldOffset(16)] + public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameterSubstitutionType@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0VFTableInfo@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - } - internal static new global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1VFTableInfo@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static global::CppSharp.Parser.AST.TemplateParameterSubstitutionType __CreateInstance(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal 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 TemplateParameterSubstitutionType(native, skipVTables); + return new VFTableInfo(native.ToPointer(), skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal native) + internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); - global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return new 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_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__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 TemplateParameterSubstitutionType(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 TemplateParameterSubstitutionType() - : this((void*) null) + public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) - : this((void*) null) + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -3707,328 +3407,337 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public global::CppSharp.Parser.AST.QualifiedType Replacement + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.VFTableInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public ulong VBTableIndex { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacement); + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex; } 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; + ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VBTableIndex = value; } } - public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + public uint VFPtrOffset { 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; + return ((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->VFPtrOffset; } set { - ((global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal*) __Instance)->replacedParameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((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(((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 Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class LayoutField : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 576)] - public new partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public uint offset; [FieldOffset(8)] - public global::System.IntPtr _namespace; + public global::Std.BasicString.__Internal Name; - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(40)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(20)] - public int lineNumberStart; + [FieldOffset(56)] + public global::System.IntPtr fieldPtr; - [FieldOffset(24)] - public int lineNumberEnd; + [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_0(global::System.IntPtr instance); - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; + [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_1(global::System.IntPtr instance, global::System.IntPtr other); - [FieldOffset(64)] - public global::Std.BasicString.__Internal USR; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1LayoutField@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); - [FieldOffset(96)] - public global::Std.BasicString.__Internal DebugText; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getName@LayoutField@AST@CppParser@CppSharp@@QEAAPEBDXZ")] + internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); - [FieldOffset(128)] - public byte isIncomplete; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?setName@LayoutField@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } - [FieldOffset(129)] - public byte isDependent; + public global::System.IntPtr __Instance { get; protected set; } - [FieldOffset(130)] - public byte isImplicit; + protected int __PointerAdjustment; + internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary(); + protected void*[] __OriginalVTables; - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; + protected bool __ownsNativeInstance; - [FieldOffset(144)] - public uint definitionOrder; + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new LayoutField(native.ToPointer(), skipVTables); + } - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; + internal static global::CppSharp.Parser.AST.LayoutField __CreateInstance(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + { + return new LayoutField(native, skipVTables); + } - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + private LayoutField(global::CppSharp.Parser.AST.LayoutField.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(208)] - public global::System.IntPtr comment; + protected LayoutField(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(216)] - internal global::Std.Vector.__Internal Namespaces; + public LayoutField() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(240)] - internal global::Std.Vector.__Internal Enums; + 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_1((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(264)] - internal global::Std.Vector.__Internal Functions; + public void Dispose() + { + Dispose(disposing: true); + } - [FieldOffset(288)] - internal global::Std.Vector.__Internal Classes; + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.LayoutField __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - [FieldOffset(312)] - internal global::Std.Vector.__Internal Templates; + public uint Offset + { + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + } - [FieldOffset(336)] - internal global::Std.Vector.__Internal Typedefs; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset = value; + } + } - [FieldOffset(360)] - internal global::Std.Vector.__Internal TypeAliases; + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType); + } - [FieldOffset(384)] - internal global::Std.Vector.__Internal Variables; - - [FieldOffset(408)] - internal global::Std.Vector.__Internal Friends; - - [FieldOffset(432)] - internal global::Std.Map.__Internal anonymous; - - [FieldOffset(448)] - public byte isAnonymous; - - [FieldOffset(456)] - internal global::Std.Vector.__Internal Bases; - - [FieldOffset(480)] - internal global::Std.Vector.__Internal Fields; - - [FieldOffset(504)] - internal global::Std.Vector.__Internal Methods; - - [FieldOffset(528)] - internal global::Std.Vector.__Internal Specifiers; - - [FieldOffset(552)] - public byte isPOD; - - [FieldOffset(553)] - public byte isAbstract; - - [FieldOffset(554)] - public byte isUnion; - - [FieldOffset(555)] - public byte isDynamic; - - [FieldOffset(556)] - public byte isPolymorphic; + 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(557)] - public byte hasNonTrivialDefaultConstructor; + public global::System.IntPtr FieldPtr + { + get + { + return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + } - [FieldOffset(558)] - public byte hasNonTrivialCopyConstructor; + set + { + ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr = (global::System.IntPtr) value; + } + } - [FieldOffset(559)] - public byte hasNonTrivialDestructor; + public string Name + { + get + { + var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } - [FieldOffset(560)] - public byte isExternCContext; + set + { + __Internal.SetName_0((__Instance + __PointerAdjustment), value); + } + } + } - [FieldOffset(561)] - public byte isInjected; + public unsafe partial class LayoutBase : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + public uint offset; - [FieldOffset(568)] - public global::System.IntPtr layout; + [FieldOffset(8)] + public global::System.IntPtr _class; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Class@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Class@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="??0LayoutBase@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr other); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Class@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1LayoutBase@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(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_0(global::System.IntPtr instance, 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_0(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_0(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_0(global::System.IntPtr instance, uint i); - - [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_0(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")] - internal static extern void ClearFields_0(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_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearMethods@Class@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearMethods_0(global::System.IntPtr instance); - - [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_0(global::System.IntPtr instance, uint i); - - [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_0(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearSpecifiers@Class@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearSpecifiers_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBasesCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetBasesCount_0(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_0(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_0(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_0(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.LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Class(native.ToPointer(), skipVTables); + return new LayoutBase(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.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) { - return new Class(native, skipVTables); + return new LayoutBase(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutBase.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); - global::CppSharp.Parser.AST.Class.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Class(global::CppSharp.Parser.AST.Class.__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 Class(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 Class() - : this((void*) null) + public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Class(global::CppSharp.Parser.AST.Class _0) - : this((void*) null) + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__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_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.LayoutBase __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -4036,1424 +3745,204 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) - { - var __ret = __Internal.GetBases_0((__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) + public uint 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.AddBases_0((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + } - public void ClearBases() - { - __Internal.ClearBases_0((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset = value; + } } - public global::CppSharp.Parser.AST.Field GetFields(uint i) - { - var __ret = __Internal.GetFields_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearFields() - { - __Internal.ClearFields_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.Method GetMethods(uint i) - { - var __ret = __Internal.GetMethods_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearMethods() - { - __Internal.ClearMethods_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) - { - var __ret = __Internal.GetSpecifiers_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearSpecifiers() - { - __Internal.ClearSpecifiers_0((__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_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint FieldsCount - { - get - { - var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint MethodsCount - { - get - { - var __ret = __Internal.GetMethodsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - - public uint SpecifiersCount - { - get - { - var __ret = __Internal.GetSpecifiersCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - } - - public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; - - [FieldOffset(24)] - public global::System.IntPtr _class; - - [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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0InjectedClassNameType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new InjectedClassNameType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.InjectedClassNameType __CreateInstance(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) - { - return new InjectedClassNameType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected InjectedClassNameType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public InjectedClassNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__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_1((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.Class Class - { - 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 DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [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_0(global::System.IntPtr instance); - - [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_1(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new DependentNameType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.DependentNameType __CreateInstance(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - { - return new DependentNameType(native, skipVTables); - } - - 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_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private DependentNameType(global::CppSharp.Parser.AST.DependentNameType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected DependentNameType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public DependentNameType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - 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_1((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared); - } - - set - { - ((global::CppSharp.Parser.AST.DependentNameType.__Internal*) __Instance)->desugared = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.QualifiedType.__Internal() : *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; - } - } - } - - public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 8)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [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_0(global::System.IntPtr instance); - - [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_1(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 PackExpansionType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.PackExpansionType __CreateInstance(global::CppSharp.Parser.AST.PackExpansionType.__Internal native, bool skipVTables = false) - { - return new 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_1(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_0((__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_1((__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)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; - - [FieldOffset(24)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0UnaryTransformType@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new UnaryTransformType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.UnaryTransformType __CreateInstance(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) - { - return new UnaryTransformType(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected UnaryTransformType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public UnaryTransformType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__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_1((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType Desugared - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 global::CppSharp.Parser.AST.QualifiedType BaseType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.UnaryTransformType.__Internal*) __Instance)->baseType); - } - - 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; - } - } - } - - public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 32)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; - - [FieldOffset(24)] - public uint numElements; - - [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_0(global::System.IntPtr instance); - - [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_1(global::System.IntPtr instance, global::System.IntPtr _0); - } - - internal static new global::CppSharp.Parser.AST.VectorType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new VectorType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VectorType __CreateInstance(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) - { - return new VectorType(native, skipVTables); - } - - 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_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private VectorType(global::CppSharp.Parser.AST.VectorType.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected VectorType(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public VectorType() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - 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_1((__Instance + __PointerAdjustment), __arg0); - } - - public global::CppSharp.Parser.AST.QualifiedType ElementType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->elementType); - } - - 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; - } - } - - public uint NumElements - { - get - { - return ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements; - } - - set - { - ((global::CppSharp.Parser.AST.VectorType.__Internal*) __Instance)->numElements = value; - } - } - } - - public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 12)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.TypeKind kind; - - [FieldOffset(4)] - public byte isDependent; - - [FieldOffset(8)] - public global::CppSharp.Parser.AST.PrimitiveType type; - - [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_0(global::System.IntPtr instance); - - [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_1(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 BuiltinType(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.BuiltinType __CreateInstance(global::CppSharp.Parser.AST.BuiltinType.__Internal native, bool skipVTables = false) - { - return new 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_1(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_0((__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_1((__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 VTableComponent : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.VTableComponentKind kind; - - [FieldOffset(4)] - public uint offset; - - [FieldOffset(8)] - public 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_0(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_1(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 VTableComponent(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableComponent __CreateInstance(global::CppSharp.Parser.AST.VTableComponent.__Internal native, bool skipVTables = false) - { - return new 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_0((__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) - { - global::CppSharp.Parser.AST.VTableComponent __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - 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 VTableLayout : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal - { - [FieldOffset(0)] - internal global::Std.Vector.__Internal 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_0(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_1(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_0(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_0(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_0(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_0(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_0(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 VTableLayout(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VTableLayout __CreateInstance(global::CppSharp.Parser.AST.VTableLayout.__Internal native, bool skipVTables = false) - { - return new 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.VTableLayout __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) - { - var __ret = new global::CppSharp.Parser.AST.VTableComponent.__Internal(); - __Internal.GetComponents_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearComponents() - { - __Internal.ClearComponents_0((__Instance + __PointerAdjustment)); - } - - public uint ComponentsCount + public global::CppSharp.Parser.AST.Class Class { get { - var __ret = __Internal.GetComponentsCount_0((__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 VFTableInfo : IDisposable + public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public partial struct __Internal { [FieldOffset(0)] - public ulong VBTableIndex; + public global::CppSharp.Parser.AST.CppAbi ABI; [FieldOffset(8)] - public uint VFPtrOffset; - - [FieldOffset(12)] - public uint VFPtrFullOffset; + internal global::Std.Vector.__Internal VFTables; - [FieldOffset(16)] + [FieldOffset(32)] public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + [FieldOffset(56)] + public byte hasOwnVFPtr; + + [FieldOffset(60)] + public int VBPtrOffset; + + [FieldOffset(64)] + public int alignment; + + [FieldOffset(68)] + public int size; + + [FieldOffset(72)] + public int dataSize; + + [FieldOffset(80)] + internal global::Std.Vector.__Internal Fields; + + [FieldOffset(104)] + internal global::Std.Vector.__Internal Bases; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VFTableInfo@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1ClassLayout@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(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 VFTableInfo(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.VFTableInfo __CreateInstance(global::CppSharp.Parser.AST.VFTableInfo.__Internal native, bool skipVTables = false) - { - return new 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); - } - - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.VFTableInfo __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } - - 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; - } - } + [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - public global::CppSharp.Parser.AST.VTableLayout Layout - { - get - { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.VFTableInfo.__Internal*) __Instance)->layout); - } + [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_0(global::System.IntPtr instance, global::System.IntPtr s); - 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; - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearVFTables@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearVFTables_0(global::System.IntPtr instance); - public unsafe partial class LayoutField : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 64)] - public partial struct __Internal - { - [FieldOffset(0)] - public uint offset; + [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); - [FieldOffset(8)] - public global::Std.BasicString.__Internal Name; + [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_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(40)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearFields@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearFields_0(global::System.IntPtr instance); - [FieldOffset(56)] - public global::System.IntPtr fieldPtr; + [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); [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_0(global::System.IntPtr instance); + EntryPoint="?addBases@ClassLayout@AST@CppParser@CppSharp@@QEAAXAEAVLayoutBase@234@@Z")] + internal static extern void AddBases_0(global::System.IntPtr instance, global::System.IntPtr s); [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_1(global::System.IntPtr instance, global::System.IntPtr other); + EntryPoint="?clearBases@ClassLayout@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearBases_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1LayoutField@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + EntryPoint="?getVFTablesCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetVFTablesCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getName@LayoutField@AST@CppParser@CppSharp@@QEAAPEBDXZ")] - internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); + EntryPoint="?getFieldsCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?setName@LayoutField@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="?getBasesCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetBasesCount_0(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.LayoutField __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 LayoutField(native.ToPointer(), skipVTables); + return new ClassLayout(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.ClassLayout __CreateInstance(global::CppSharp.Parser.AST.ClassLayout.__Internal native, bool skipVTables = false) { - return new LayoutField(native, skipVTables); + return new ClassLayout(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.LayoutField.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); - global::CppSharp.Parser.AST.LayoutField.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private LayoutField(global::CppSharp.Parser.AST.LayoutField.__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 LayoutField(void* native, bool skipVTables = false) + protected ClassLayout(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public LayoutField() + public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__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_1((__Instance + __PointerAdjustment), __arg0); } @@ -5464,7 +3953,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.LayoutField __dummy; + global::CppSharp.Parser.AST.ClassLayout __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -5472,353 +3961,380 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public uint Offset + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + { + var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearVFTables() + { + __Internal.ClearVFTables_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + { + var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.CppAbi ABI { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->offset = value; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI = value; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.VTableLayout Layout { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->qualifiedType); + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout); } 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.ClassLayout.__Internal*) __Instance)->layout = ReferenceEquals(value, null) ? new global::CppSharp.Parser.AST.VTableLayout.__Internal() : *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; } } - public global::System.IntPtr FieldPtr + public bool HasOwnVFPtr { get { - return ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; } set { - ((global::CppSharp.Parser.AST.LayoutField.__Internal*) __Instance)->fieldPtr = (global::System.IntPtr) value; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); } } - public string Name + public int VBPtrOffset { get { - var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; } set { - __Internal.SetName_0((__Instance + __PointerAdjustment), value); + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset = value; } } - } - - public unsafe partial class LayoutBase : IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 16)] - public partial struct __Internal - { - [FieldOffset(0)] - public uint offset; - - [FieldOffset(8)] - public global::System.IntPtr _class; - - [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_0(global::System.IntPtr instance); - - [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_1(global::System.IntPtr instance, global::System.IntPtr other); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1LayoutBase@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(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 LayoutBase(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.LayoutBase __CreateInstance(global::CppSharp.Parser.AST.LayoutBase.__Internal native, bool skipVTables = false) - { - return new 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_1(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() + public int Alignment { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + } - 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_1((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment = value; + } } - public void Dispose() + public int Size { - Dispose(disposing: true); - } + get + { + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + } - public virtual void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.LayoutBase __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + set + { + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size = value; + } } - public uint Offset + public int DataSize { get { - return ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset; + return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; } set { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->offset = value; + ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize = value; } } - public global::CppSharp.Parser.AST.Class Class + public uint VFTablesCount { 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; + var __ret = __Internal.GetVFTablesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint FieldsCount + { + get + { + var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + return __ret; } + } - set + public uint BasesCount + { + get { - ((global::CppSharp.Parser.AST.LayoutBase.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class ClassLayout : IDisposable + public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.CppAbi ABI; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - internal global::Std.Vector.__Internal VFTables; + public global::System.IntPtr _namespace; - [FieldOffset(32)] - public global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(56)] - public byte hasOwnVFPtr; + [FieldOffset(20)] + public int lineNumberStart; - [FieldOffset(60)] - public int VBPtrOffset; + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; [FieldOffset(64)] - public int alignment; + public global::Std.BasicString.__Internal USR; - [FieldOffset(68)] - public int size; + [FieldOffset(96)] + public global::Std.BasicString.__Internal DebugText; - [FieldOffset(72)] - public int dataSize; + [FieldOffset(128)] + public byte isIncomplete; - [FieldOffset(80)] - internal global::Std.Vector.__Internal Fields; + [FieldOffset(129)] + public byte isDependent; - [FieldOffset(104)] - internal global::Std.Vector.__Internal Bases; + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; [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_0(global::System.IntPtr instance); + EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassLayout@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + EntryPoint="??0Declaration@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1Declaration@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + EntryPoint="?getPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAPEAVPreprocessedEntity@234@I@Z")] + internal static extern global::System.IntPtr GetPreprocessedEntities_0(global::System.IntPtr instance, 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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAXAEAPEAVPreprocessedEntity@234@@Z")] + internal static extern void AddPreprocessedEntities_0(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_0(global::System.IntPtr instance); + EntryPoint="?clearPreprocessedEntities@Declaration@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearPreprocessedEntities_0(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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + EntryPoint="?getRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAPEAV1234@I@Z")] + internal static extern global::System.IntPtr GetRedeclarations_0(global::System.IntPtr instance, 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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?addRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAXAEAPEAV1234@@Z")] + internal static extern void AddRedeclarations_0(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_0(global::System.IntPtr instance); + EntryPoint="?clearRedeclarations@Declaration@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearRedeclarations_0(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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + EntryPoint="?getName@Declaration@AST@CppParser@CppSharp@@QEAAPEBDXZ")] + internal static extern global::System.IntPtr Name_0(global::System.IntPtr instance); [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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?setName@Declaration@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void SetName_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string 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_0(global::System.IntPtr instance); + EntryPoint="?getUSR@Declaration@AST@CppParser@CppSharp@@QEAAPEBDXZ")] + internal static extern global::System.IntPtr USR_0(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_0(global::System.IntPtr instance); + EntryPoint="?setUSR@Declaration@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void SetUSR_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getFieldsCount@ClassLayout@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); + EntryPoint="?getDebugText@Declaration@AST@CppParser@CppSharp@@QEAAPEBDXZ")] + internal static extern global::System.IntPtr DebugText_0(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_0(global::System.IntPtr instance); + EntryPoint="?setDebugText@Declaration@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void SetDebugText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getPreprocessedEntitiesCount@Declaration@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetPreprocessedEntitiesCount_0(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_0(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.Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new ClassLayout(native.ToPointer(), skipVTables); + return new Declaration(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.Declaration __CreateInstance(global::CppSharp.Parser.AST.Declaration.__Internal native, bool skipVTables = false) { - return new ClassLayout(native, skipVTables); + return new Declaration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassLayout.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Declaration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); - global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassLayout(global::CppSharp.Parser.AST.ClassLayout.__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 ClassLayout(void* native, bool skipVTables = false) + protected Declaration(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public ClassLayout() + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -5834,7 +4350,7 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.ClassLayout __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -5842,180 +4358,299 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + { + var __ret = __Internal.GetPreprocessedEntities_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearPreprocessedEntities() + { + __Internal.ClearPreprocessedEntities_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var __ret = __Internal.GetRedeclarations_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations_0((__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 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 { - var __ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); - __Internal.GetVFTables_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); - } + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location); + } - 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_0((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->location = value.__Instance; + } } - public void ClearVFTables() + public int LineNumberStart { - __Internal.ClearVFTables_0((__Instance + __PointerAdjustment)); - } + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart; + } - public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) - { - var __ret = new global::CppSharp.Parser.AST.LayoutField.__Internal(); - __Internal.GetFields_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberStart = value; + } } - public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + public int LineNumberEnd { - 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_0((__Instance + __PointerAdjustment), __arg0); - } + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd; + } - public void ClearFields() - { - __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->lineNumberEnd = value; + } } - public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + public bool IsIncomplete { - var __ret = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); - __Internal.GetBases_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); - } + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete != 0; + } - 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_0((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isIncomplete = (byte) (value ? 1 : 0); + } } - public void ClearBases() + public bool IsDependent { - __Internal.ClearBases_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isDependent = (byte) (value ? 1 : 0); + } } - public global::CppSharp.Parser.AST.CppAbi ABI + public bool IsImplicit { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit != 0; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->ABI = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->isImplicit = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.VTableLayout Layout + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { get { - return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->layout); + 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.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.Declaration.__Internal*) __Instance)->completeDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool HasOwnVFPtr + public uint DefinitionOrder { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr != 0; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->hasOwnVFPtr = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->definitionOrder = value; } } - public int VBPtrOffset + public global::System.IntPtr OriginalPtr { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset; + return ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr; } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->VBPtrOffset = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; } } - public int Alignment + public global::CppSharp.Parser.AST.RawComment Comment { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->alignment; + 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.ClassLayout.__Internal*) __Instance)->alignment = value; + ((global::CppSharp.Parser.AST.Declaration.__Internal*) __Instance)->comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public int Size + public string Name { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size; + var __ret = __Internal.Name_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->size = value; + __Internal.SetName_0((__Instance + __PointerAdjustment), value); } } - public int DataSize + public string USR { get { - return ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize; + var __ret = __Internal.USR_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.ClassLayout.__Internal*) __Instance)->dataSize = value; + __Internal.SetUSR_0((__Instance + __PointerAdjustment), value); } } - public uint VFTablesCount + public string DebugText { get { - var __ret = __Internal.GetVFTablesCount_0((__Instance + __PointerAdjustment)); - return __ret; + var __ret = __Internal.DebugText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetDebugText_0((__Instance + __PointerAdjustment), value); } } - public uint FieldsCount + public uint PreprocessedEntitiesCount { get { - var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment)); return __ret; } } - public uint BasesCount + public uint RedeclarationsCount { get { - var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetRedeclarationsCount_0((__Instance + __PointerAdjustment)); return __ret; } } @@ -6689,109 +5324,130 @@ namespace CppSharp } } - public unsafe partial class RawComment : IDisposable + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 80)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.RawCommentKind kind; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::Std.BasicString.__Internal Text; + public global::System.IntPtr _namespace; - [FieldOffset(40)] - public global::Std.BasicString.__Internal BriefText; + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(72)] - public global::System.IntPtr fullCommentBlock; + [FieldOffset(20)] + public int lineNumberStart; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + [FieldOffset(24)] + public int lineNumberEnd; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1RawComment@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + [FieldOffset(64)] + public global::Std.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getText@RawComment@AST@CppParser@CppSharp@@QEAAPEBDXZ")] - internal static extern global::System.IntPtr Text_0(global::System.IntPtr instance); + [FieldOffset(96)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?setText@RawComment@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void SetText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBriefText@RawComment@AST@CppParser@CppSharp@@QEAAPEBDXZ")] - internal static extern global::System.IntPtr BriefText_0(global::System.IntPtr instance); + EntryPoint="??0TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?setBriefText@RawComment@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void SetBriefText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - } - - 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; + EntryPoint="??1TypedefNameDecl@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); + } - internal static global::CppSharp.Parser.AST.RawComment __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 RawComment(native.ToPointer(), skipVTables); + return new TypedefNameDecl(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__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 RawComment(native, skipVTables); + return new TypedefNameDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); - global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private RawComment(global::CppSharp.Parser.AST.RawComment.__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 RawComment(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 RawComment() + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public RawComment(global::CppSharp.Parser.AST.RawComment _0) + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -6800,14 +5456,9 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public void Dispose() - { - Dispose(disposing: true); - } - - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.RawComment __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -6815,202 +5466,171 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - 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 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; - } - } - - public string Text + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) { - get - { - var __ret = __Internal.Text_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } - - set - { - __Internal.SetText_0((__Instance + __PointerAdjustment), value); - } + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); } - public string BriefText + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - var __ret = __Internal.BriefText_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypedefNameDecl.__Internal*) __Instance)->qualifiedType); } set { - __Internal.SetBriefText_0((__Instance + __PointerAdjustment), 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 PreprocessedEntity : IDisposable + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.MacroLocation macroLocation; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr originalPtr; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(64)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(96)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TypedefDecl@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0TypedefDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1TypedefDecl@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); + } - internal static global::CppSharp.Parser.AST.PreprocessedEntity __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 PreprocessedEntity(native.ToPointer(), skipVTables); + return new TypedefDecl(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.TypedefDecl __CreateInstance(global::CppSharp.Parser.AST.TypedefDecl.__Internal native, bool skipVTables = false) { - return new PreprocessedEntity(native, skipVTables); + return new TypedefDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__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.TypedefDecl.__Internal)); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__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 PreprocessedEntity(void* native, bool skipVTables = false) + protected TypedefDecl(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public PreprocessedEntity() + public TypedefDecl() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__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_1((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.PreprocessedEntity __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - - public global::CppSharp.Parser.AST.MacroLocation MacroLocation - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation = value; - } - } - - public global::System.IntPtr OriginalPtr - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; - } - } - - public global::CppSharp.Parser.AST.DeclarationKind Kind - { - get - { - return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; - } - - set - { - ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind = value; - } - } } - public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 504)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { [FieldOffset(0)] @@ -7068,302 +5688,213 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - internal global::Std.Vector.__Internal Namespaces; - - [FieldOffset(240)] - internal global::Std.Vector.__Internal Enums; - - [FieldOffset(264)] - internal global::Std.Vector.__Internal Functions; - - [FieldOffset(288)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(312)] - internal global::Std.Vector.__Internal Templates; - - [FieldOffset(336)] - internal global::Std.Vector.__Internal Typedefs; - - [FieldOffset(360)] - internal global::Std.Vector.__Internal TypeAliases; - - [FieldOffset(384)] - internal global::Std.Vector.__Internal Variables; - - [FieldOffset(408)] - internal global::Std.Vector.__Internal Friends; - - [FieldOffset(432)] - internal global::Std.Map.__Internal anonymous; - - [FieldOffset(448)] - public byte isAnonymous; - - [FieldOffset(456)] - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; - - [FieldOffset(464)] - public global::System.IntPtr type; - - [FieldOffset(472)] - public global::System.IntPtr builtinType; + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(480)] - internal global::Std.Vector.__Internal Items; + [FieldOffset(232)] + public global::System.IntPtr describedAliasTemplate; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0TypeAlias@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1TypeAlias@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(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_0(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_0(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearItems@Enumeration@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearItems_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getItemsCount@Enumeration@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetItemsCount_0(global::System.IntPtr instance); } - [Flags] - public enum EnumModifiers + internal static new global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - Anonymous = 1, - Scoped = 2, - Flags = 4 + return new TypeAlias(native.ToPointer(), skipVTables); } - public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + internal static global::CppSharp.Parser.AST.TypeAlias __CreateInstance(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) { - [StructLayout(LayoutKind.Explicit, Size = 256)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(64)] - public global::Std.BasicString.__Internal USR; + return new TypeAlias(native, skipVTables); + } - [FieldOffset(96)] - public global::Std.BasicString.__Internal DebugText; + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(128)] - public byte isIncomplete; + private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(129)] - public byte isDependent; + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(130)] - public byte isImplicit; + public TypeAlias() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) + { + __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_1((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(144)] - public uint definitionOrder; + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + { + 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; + } - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; + set + { + ((global::CppSharp.Parser.AST.TypeAlias.__Internal*) __Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 224)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - [FieldOffset(208)] - public global::System.IntPtr comment; + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(216)] - public global::Std.BasicString.__Internal Expression; + [FieldOffset(8)] + public global::System.IntPtr _namespace; - [FieldOffset(248)] - public ulong value; + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - [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_0(global::System.IntPtr instance); + [FieldOffset(20)] + public int lineNumberStart; - [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(24)] + public int lineNumberEnd; - [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_0(global::System.IntPtr instance, int delete); + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getExpression@Item@Enumeration@AST@CppParser@CppSharp@@QEAAPEBDXZ")] - internal static extern global::System.IntPtr Expression_0(global::System.IntPtr instance); + [FieldOffset(64)] + public global::Std.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?setExpression@Item@Enumeration@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void SetExpression_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - } + [FieldOffset(96)] + public global::Std.BasicString.__Internal DebugText; - internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new Item(native.ToPointer(), skipVTables); - } + [FieldOffset(128)] + public byte isIncomplete; - internal static global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - { - return new Item(native, skipVTables); - } + [FieldOffset(129)] + public byte isDependent; - 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_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(130)] + public byte isImplicit; - private Item(global::CppSharp.Parser.AST.Enumeration.Item.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; - protected Item(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } + [FieldOffset(144)] + public uint definitionOrder; - public Item() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; - 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_1((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } + [FieldOffset(200)] + public global::System.IntPtr originalPtr; - public ulong Value - { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value; - } + [FieldOffset(208)] + public global::System.IntPtr comment; - set - { - ((global::CppSharp.Parser.AST.Enumeration.Item.__Internal*) __Instance)->value = value; - } - } + [FieldOffset(216)] + public global::System.IntPtr declaration; - public string Expression - { - get - { - var __ret = __Internal.Expression_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Friend@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); - set - { - __Internal.SetExpression_0((__Instance + __PointerAdjustment), value); - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Friend@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(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")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.Enumeration __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 Enumeration(native.ToPointer(), skipVTables); + return new Friend(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__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 Enumeration(native, skipVTables); + return new Friend(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); - global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Enumeration(global::CppSharp.Parser.AST.Enumeration.__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 Enumeration(void* native, bool skipVTables = false) + protected Friend(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7372,19 +5903,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Enumeration() + public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) + public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7403,293 +5934,321 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + public global::CppSharp.Parser.AST.Declaration Declaration { - var __ret = __Internal.GetItems_0((__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 + { + 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 void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + public unsafe partial class Statement : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + 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.AddItems_0((__Instance + __PointerAdjustment), __arg0); + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; + + [FieldOffset(8)] + public global::System.IntPtr decl; + + [FieldOffset(16)] + public global::Std.BasicString.__Internal String; + + [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_1(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_0(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getString@Statement@AST@CppParser@CppSharp@@QEAAPEBDXZ")] + internal static extern global::System.IntPtr String_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?setString@Statement@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void SetString_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - public void ClearItems() + 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.ClearItems_0((__Instance + __PointerAdjustment)); + return new Statement(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers + internal static global::CppSharp.Parser.AST.Statement __CreateInstance(global::CppSharp.Parser.AST.Statement.__Internal native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; - } + return new Statement(native, skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers = value; - } + 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_1(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(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_1((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Type Type + public global::CppSharp.Parser.AST.StatementClass Class { 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.Statement.__Internal*) __Instance)->_class; } set { - ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class = value; } } - public global::CppSharp.Parser.AST.BuiltinType BuiltinType + public global::CppSharp.Parser.AST.Declaration Decl { 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.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.Enumeration.__Internal*) __Instance)->builtinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ItemsCount + public string String { get { - var __ret = __Internal.GetItemsCount_0((__Instance + __PointerAdjustment)); - return __ret; + var __ret = __Internal.String_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetString_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 408)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - public global::System.IntPtr _namespace; + public global::System.IntPtr decl; [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(64)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(96)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] - public byte isDependent; - - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(200)] - public global::System.IntPtr originalPtr; - - [FieldOffset(208)] - public global::System.IntPtr comment; - - [FieldOffset(216)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(232)] - public byte isReturnIndirect; - - [FieldOffset(233)] - public byte hasThisReturn; - - [FieldOffset(234)] - public byte isConstExpr; + public global::Std.BasicString.__Internal String; - [FieldOffset(235)] - public byte isVariadic; + [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_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(236)] - public byte isInline; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1Expression@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); + } - [FieldOffset(237)] - public byte isPure; + internal static new global::CppSharp.Parser.AST.Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Expression(native.ToPointer(), skipVTables); + } - [FieldOffset(238)] - public byte isDeleted; + internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + { + return new Expression(native, skipVTables); + } - [FieldOffset(240)] - public global::CppSharp.Parser.AST.FriendKind friendKind; + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(244)] - public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + private Expression(global::CppSharp.Parser.AST.Expression.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(248)] - public global::Std.BasicString.__Internal Mangled; + protected Expression(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(280)] - public global::Std.BasicString.__Internal Signature; + 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_1((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(312)] - public global::Std.BasicString.__Internal Body; + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + } - [FieldOffset(344)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; - [FieldOffset(352)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(8)] + public global::System.IntPtr decl; - [FieldOffset(376)] - public global::System.IntPtr specializationInfo; + [FieldOffset(16)] + public global::Std.BasicString.__Internal String; - [FieldOffset(384)] - public global::System.IntPtr instantiatedFrom; + [FieldOffset(48)] + public global::System.IntPtr LHS; - [FieldOffset(392)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(56)] + public global::System.IntPtr RHS; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Function@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + [FieldOffset(64)] + public global::Std.BasicString.__Internal OpcodeStr; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Function@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] - internal static extern void dtor_0(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_0(global::System.IntPtr instance, 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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getMangled@Function@AST@CppParser@CppSharp@@QEAAPEBDXZ")] - internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?setMangled@Function@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSignature@Function@AST@CppParser@CppSharp@@QEAAPEBDXZ")] - internal static extern global::System.IntPtr Signature_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?setSignature@Function@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getBody@Function@AST@CppParser@CppSharp@@QEAAPEBDXZ")] - internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1BinaryOperator@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?setBody@Function@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="?getOpcodeStr@BinaryOperator@AST@CppParser@CppSharp@@QEAAPEBDXZ")] + internal static extern global::System.IntPtr OpcodeStr_0(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_0(global::System.IntPtr instance); + EntryPoint="?setOpcodeStr@BinaryOperator@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void SetOpcodeStr_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - internal static new global::CppSharp.Parser.AST.Function __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 Function(native.ToPointer(), skipVTables); + return new BinaryOperator(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__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 Function(native, skipVTables); + return new BinaryOperator(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); - global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Function(global::CppSharp.Parser.AST.Function.__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 Function(void* native, bool skipVTables = false) + protected BinaryOperator(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -7698,19 +6257,10 @@ namespace CppSharp __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_0((__Instance + __PointerAdjustment)); - } - - public Function(global::CppSharp.Parser.AST.Function _0) + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -7721,7 +6271,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -7729,377 +6279,267 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) - { - var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); - } - - public void ClearParameters() - { - __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); - } - - public global::CppSharp.Parser.AST.QualifiedType ReturnType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 + public global::CppSharp.Parser.AST.Expression LHS { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 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.Function.__Internal*) __Instance)->isVariadic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsInline + public global::CppSharp.Parser.AST.Expression RHS { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 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.Function.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsPure + public string OpcodeStr { get { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + var __ret = __Internal.OpcodeStr_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); } set { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure = (byte) (value ? 1 : 0); + __Internal.SetOpcodeStr_0((__Instance + __PointerAdjustment), value); } } + } - public bool IsDeleted + 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.Function.__Internal*) __Instance)->isDeleted != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.StatementClass _class; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted = (byte) (value ? 1 : 0); - } - } + [FieldOffset(8)] + public global::System.IntPtr decl; - public global::CppSharp.Parser.AST.FriendKind FriendKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; - } + [FieldOffset(16)] + public global::Std.BasicString.__Internal String; - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind = value; - } - } + [FieldOffset(48)] + internal global::Std.Vector.__Internal Arguments; - public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; - } + [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_1(global::System.IntPtr instance, global::System.IntPtr _0); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind = value; - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CallExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); - public global::CppSharp.Parser.AST.CallingConvention CallingConvention - { - get - { - return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; - } + [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_0(global::System.IntPtr instance, uint i); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention = value; - } - } + [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_0(global::System.IntPtr instance, global::System.IntPtr s); - 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; - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearArguments@CallExpr@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); - set - { - ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->specializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__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_0(global::System.IntPtr 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; - } + internal static new global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new CallExpr(native.ToPointer(), skipVTables); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + internal static global::CppSharp.Parser.AST.CallExpr __CreateInstance(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->qualifiedType); - } + return new CallExpr(native, skipVTables); + } - 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; - } + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); } - public string Mangled + private CallExpr(global::CppSharp.Parser.AST.CallExpr.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) { - get - { - var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - set - { - __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); - } + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); } - public string Signature + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) { - get - { - var __ret = __Internal.Signature_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + __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_1((__Instance + __PointerAdjustment), __arg0); + } - set - { - __Internal.SetSignature_0((__Instance + __PointerAdjustment), value); - } + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public string Body + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) { - get - { - var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + var __ret = __Internal.GetArguments_0((__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; + } - set - { - __Internal.SetBody_0((__Instance + __PointerAdjustment), value); - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public uint ParametersCount + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public uint ArgumentsCount { get { - var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.StatementClass _class; [FieldOffset(8)] - public global::System.IntPtr _namespace; + public global::System.IntPtr decl; [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; - - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; - - [FieldOffset(64)] - public global::Std.BasicString.__Internal USR; - - [FieldOffset(96)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] - public byte isDependent; - - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; + public global::Std.BasicString.__Internal String; - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; + [FieldOffset(48)] + internal global::Std.Vector.__Internal Arguments; - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + [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_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(208)] - public global::System.IntPtr comment; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); - [FieldOffset(216)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [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_0(global::System.IntPtr instance, uint i); [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_0(global::System.IntPtr instance); + EntryPoint="?addArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAXAEAPEAVExpression@234@@Z")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?clearArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TypedefDecl@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + EntryPoint="?getArgumentsCount@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.TypedefDecl __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 TypedefDecl(native.ToPointer(), skipVTables); + return new CXXConstructExpr(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.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) { - return new TypedefDecl(native, skipVTables); + return new CXXConstructExpr(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypedefDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl.__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 TypedefDecl(void* native, bool skipVTables = false) + protected CXXConstructExpr(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8108,19 +6548,10 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypedefDecl() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } - - public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8131,18 +6562,51 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Declaration __dummy; + global::CppSharp.Parser.AST.Statement __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + { + var __ret = __Internal.GetArguments_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public uint ArgumentsCount + { + get + { + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } } - public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 248)] public new partial struct __Internal { [FieldOffset(0)] @@ -8203,49 +6667,58 @@ namespace CppSharp public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [FieldOffset(232)] - public global::System.IntPtr describedAliasTemplate; + public byte isIndirect; + + [FieldOffset(233)] + public byte hasDefaultValue; + + [FieldOffset(236)] + public uint index; + + [FieldOffset(240)] + public global::System.IntPtr defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TypeAlias@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Parameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TypeAlias@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1Parameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.TypeAlias __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 TypeAlias(native.ToPointer(), skipVTables); + return new Parameter(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.Parameter __CreateInstance(global::CppSharp.Parser.AST.Parameter.__Internal native, bool skipVTables = false) { - return new TypeAlias(native, skipVTables); + return new Parameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAlias.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Parameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); - global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TypeAlias(global::CppSharp.Parser.AST.TypeAlias.__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 TypeAlias(void* native, bool skipVTables = false) + protected Parameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8254,19 +6727,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TypeAlias() + public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8285,28 +6758,80 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { 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 global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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 + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->hasDefaultValue = (byte) (value ? 1 : 0); + } + } + + public uint Index + { + get + { + return ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->index; + } + + set + { + ((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.TypeAlias.__Internal*) __Instance)->describedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.Parameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } } - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + public unsafe partial class Function : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 464)] + [StructLayout(LayoutKind.Explicit, Size = 408)] public new partial struct __Internal { [FieldOffset(0)] @@ -8364,82 +6889,150 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - internal global::Std.Vector.__Internal Namespaces; + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - [FieldOffset(240)] - internal global::Std.Vector.__Internal Enums; + [FieldOffset(232)] + public byte isReturnIndirect; - [FieldOffset(264)] - internal global::Std.Vector.__Internal Functions; + [FieldOffset(233)] + public byte hasThisReturn; - [FieldOffset(288)] - internal global::Std.Vector.__Internal Classes; + [FieldOffset(234)] + public byte isConstExpr; - [FieldOffset(312)] - internal global::Std.Vector.__Internal Templates; + [FieldOffset(235)] + public byte isVariadic; - [FieldOffset(336)] - internal global::Std.Vector.__Internal Typedefs; + [FieldOffset(236)] + public byte isInline; - [FieldOffset(360)] - internal global::Std.Vector.__Internal TypeAliases; + [FieldOffset(237)] + public byte isPure; - [FieldOffset(384)] - internal global::Std.Vector.__Internal Variables; + [FieldOffset(238)] + public byte isDeleted; - [FieldOffset(408)] - internal global::Std.Vector.__Internal Friends; + [FieldOffset(240)] + public global::CppSharp.Parser.AST.FriendKind friendKind; - [FieldOffset(432)] - internal global::Std.Map.__Internal anonymous; + [FieldOffset(244)] + public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - [FieldOffset(448)] - public byte isAnonymous; + [FieldOffset(248)] + public global::Std.BasicString.__Internal Mangled; - [FieldOffset(456)] - public byte isInline; + [FieldOffset(280)] + public global::Std.BasicString.__Internal Signature; + + [FieldOffset(312)] + public global::Std.BasicString.__Internal Body; + + [FieldOffset(344)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(352)] + internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(376)] + public global::System.IntPtr specializationInfo; + + [FieldOffset(384)] + public global::System.IntPtr instantiatedFrom; + + [FieldOffset(392)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Function@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0Function@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1Function@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(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_0(global::System.IntPtr instance, 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_0(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_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getMangled@Function@AST@CppParser@CppSharp@@QEAAPEBDXZ")] + internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?setMangled@Function@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSignature@Function@AST@CppParser@CppSharp@@QEAAPEBDXZ")] + internal static extern global::System.IntPtr Signature_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?setSignature@Function@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void SetSignature_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getBody@Function@AST@CppParser@CppSharp@@QEAAPEBDXZ")] + internal static extern global::System.IntPtr Body_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?setBody@Function@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void SetBody_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getParametersCount@Function@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetParametersCount_0(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.Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Namespace(native.ToPointer(), skipVTables); + return new Function(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.Function __CreateInstance(global::CppSharp.Parser.AST.Function.__Internal native, bool skipVTables = false) { - return new Namespace(native, skipVTables); + return new Function(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Function.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); - global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + global::CppSharp.Parser.AST.Function.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Namespace(global::CppSharp.Parser.AST.Namespace.__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 Namespace(void* native, bool skipVTables = false) + protected Function(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -8448,19 +7041,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Namespace() + public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Namespace(global::CppSharp.Parser.AST.Namespace _0) + public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -8479,169 +7072,277 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsInline + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var __ret = __Internal.GetParameters_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.QualifiedType ReturnType { get { - return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->returnType); } set { - ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + ((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 TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 248)] - public new partial struct __Internal + public bool IsReturnIndirect { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; - - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; - - [FieldOffset(8)] - public global::System.IntPtr _namespace; - - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; - - [FieldOffset(20)] - public int lineNumberStart; - - [FieldOffset(24)] - public int lineNumberEnd; + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect != 0; + } - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isReturnIndirect = (byte) (value ? 1 : 0); + } + } - [FieldOffset(64)] - public global::Std.BasicString.__Internal USR; + public bool HasThisReturn + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn != 0; + } - [FieldOffset(96)] - public global::Std.BasicString.__Internal DebugText; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->hasThisReturn = (byte) (value ? 1 : 0); + } + } - [FieldOffset(128)] - public byte isIncomplete; + public bool IsConstExpr + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr != 0; + } - [FieldOffset(129)] - public byte isDependent; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isConstExpr = (byte) (value ? 1 : 0); + } + } - [FieldOffset(130)] - public byte isImplicit; + public bool IsVariadic + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic != 0; + } - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isVariadic = (byte) (value ? 1 : 0); + } + } - [FieldOffset(144)] - public uint definitionOrder; + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline != 0; + } - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + } + } - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; + public bool IsPure + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure != 0; + } - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isPure = (byte) (value ? 1 : 0); + } + } - [FieldOffset(208)] - public global::System.IntPtr comment; + public bool IsDeleted + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted != 0; + } - [FieldOffset(216)] - public global::System.IntPtr TemplatedDecl; + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->isDeleted = (byte) (value ? 1 : 0); + } + } - [FieldOffset(224)] - internal global::Std.Vector.__Internal Parameters; + public global::CppSharp.Parser.AST.FriendKind FriendKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind; + } - [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_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->friendKind = value; + } + } - [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + { + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->operatorKind = value; + } } - internal static new global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public global::CppSharp.Parser.AST.CallingConvention CallingConvention { - return new TypeAliasTemplate(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention; + } + + set + { + ((global::CppSharp.Parser.AST.Function.__Internal*) __Instance)->callingConvention = value; + } } - internal static global::CppSharp.Parser.AST.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo { - return new TypeAliasTemplate(native, skipVTables); + 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; + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) + public global::CppSharp.Parser.AST.Function InstantiatedFrom { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + 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; + } } - private TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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; + } } - protected TypeAliasTemplate(void* native, bool skipVTables = false) - : base((void*) null) + public string Mangled { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + get + { + var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); + } } - public TypeAliasTemplate() - : this((void*) null) + public string Signature { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.Signature_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetSignature_0((__Instance + __PointerAdjustment), value); + } } - public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) - : this((void*) null) + public string Body { - __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_1((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.Body_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBody_0((__Instance + __PointerAdjustment), value); + } } - public override void Dispose(bool disposing) + public uint ParametersCount { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + get + { + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } } - public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 272)] + [StructLayout(LayoutKind.Explicit, Size = 448)] public new partial struct __Internal { [FieldOffset(0)] @@ -8699,277 +7400,133 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - public global::System.IntPtr TemplatedDecl; - - [FieldOffset(224)] - internal global::Std.Vector.__Internal Parameters; - - [FieldOffset(248)] - internal global::Std.Vector.__Internal Specializations; - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1ClassTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QEAAPEAVClassTemplateSpecialization@234@I@Z")] - internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QEAAXAEAPEAVClassTemplateSpecialization@234@@Z")] - internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearSpecializations_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecializationsCount@ClassTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); - } - - internal static new global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) - { - return new ClassTemplate(native.ToPointer(), skipVTables); - } - - internal static global::CppSharp.Parser.AST.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) - { - return new ClassTemplate(native, skipVTables); - } - - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); - } - - private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - } - - protected ClassTemplate(void* native, bool skipVTables = false) - : base((void*) null) - { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); - } - - public ClassTemplate() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); - } + public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__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_1((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(232)] + public byte isReturnIndirect; - public override void Dispose(bool disposing) - { - global::CppSharp.Parser.AST.Declaration __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - } + [FieldOffset(233)] + public byte hasThisReturn; - public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) - { - var __ret = __Internal.GetSpecializations_0((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; - if (__ret == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); - return __result0; - } + [FieldOffset(234)] + public byte isConstExpr; - public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization 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_0((__Instance + __PointerAdjustment), __arg0); - } + [FieldOffset(235)] + public byte isVariadic; - public void ClearSpecializations() - { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); - } + [FieldOffset(236)] + public byte isInline; - public uint SpecializationsCount - { - get - { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } - } - } + [FieldOffset(237)] + public byte isPure; - public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 272)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.DeclarationKind kind; + [FieldOffset(238)] + public byte isDeleted; - [FieldOffset(4)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + [FieldOffset(240)] + public global::CppSharp.Parser.AST.FriendKind friendKind; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [FieldOffset(244)] + public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(248)] + public global::Std.BasicString.__Internal Mangled; - [FieldOffset(20)] - public int lineNumberStart; + [FieldOffset(280)] + public global::Std.BasicString.__Internal Signature; - [FieldOffset(24)] - public int lineNumberEnd; + [FieldOffset(312)] + public global::Std.BasicString.__Internal Body; - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; + [FieldOffset(344)] + public global::CppSharp.Parser.AST.CallingConvention callingConvention; - [FieldOffset(64)] - public global::Std.BasicString.__Internal USR; + [FieldOffset(352)] + internal global::Std.Vector.__Internal Parameters; - [FieldOffset(96)] - public global::Std.BasicString.__Internal DebugText; + [FieldOffset(376)] + public global::System.IntPtr specializationInfo; - [FieldOffset(128)] - public byte isIncomplete; + [FieldOffset(384)] + public global::System.IntPtr instantiatedFrom; - [FieldOffset(129)] - public byte isDependent; + [FieldOffset(392)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; - [FieldOffset(130)] - public byte isImplicit; + [FieldOffset(408)] + public byte isVirtual; - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; + [FieldOffset(409)] + public byte isStatic; - [FieldOffset(144)] - public uint definitionOrder; + [FieldOffset(410)] + public byte isConst; - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; + [FieldOffset(411)] + public byte isExplicit; - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; + [FieldOffset(412)] + public byte isOverride; - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + [FieldOffset(416)] + public global::CppSharp.Parser.AST.CXXMethodKind methodKind; - [FieldOffset(208)] - public global::System.IntPtr comment; + [FieldOffset(420)] + public byte isDefaultConstructor; - [FieldOffset(216)] - public global::System.IntPtr TemplatedDecl; + [FieldOffset(421)] + public byte isCopyConstructor; - [FieldOffset(224)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(422)] + public byte isMoveConstructor; - [FieldOffset(248)] - internal global::Std.Vector.__Internal Specializations; + [FieldOffset(424)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(440)] + public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Method@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0FunctionTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Method@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1Method@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(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_0(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_0(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_0(global::System.IntPtr instance); - - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecializationsCount@FunctionTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetSpecializationsCount_0(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 FunctionTemplate(native.ToPointer(), skipVTables); + return new 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 FunctionTemplate(native, skipVTables); + return new 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_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + global::CppSharp.Parser.AST.Method.__Internal.cctor_1(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; @@ -8978,19 +7535,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_0((__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)) @@ -9009,43 +7566,153 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + public bool IsVirtual { - var __ret = __Internal.GetSpecializations_0((__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; + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); + } } - public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + public bool IsStatic { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic = (byte) (value ? 1 : 0); + } } - public void ClearSpecializations() + public bool IsConst { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst = (byte) (value ? 1 : 0); + } } - public uint SpecializationsCount + public bool IsExplicit { get { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public bool IsOverride + { + get + { + return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride = (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(((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 unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 264)] + [StructLayout(LayoutKind.Explicit, Size = 504)] public new partial struct __Internal { [FieldOffset(0)] @@ -9103,62 +7770,302 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - public global::Std.BasicString.__Internal Mangled; + internal global::Std.Vector.__Internal Namespaces; - [FieldOffset(248)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(240)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(264)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(336)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(360)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(384)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(408)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(432)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(448)] + public byte isAnonymous; + + [FieldOffset(456)] + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(464)] + public global::System.IntPtr type; + + [FieldOffset(472)] + public global::System.IntPtr builtinType; + + [FieldOffset(480)] + internal global::Std.Vector.__Internal Items; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Variable@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Variable@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Enumeration@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1Enumeration@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getMangled@Variable@AST@CppParser@CppSharp@@QEAAPEBDXZ")] - internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + EntryPoint="?getItems@Enumeration@AST@CppParser@CppSharp@@QEAAPEAVItem@1234@I@Z")] + internal static extern global::System.IntPtr GetItems_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?setMangled@Variable@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="?addItems@Enumeration@AST@CppParser@CppSharp@@QEAAXAEAPEAVItem@1234@@Z")] + internal static extern void AddItems_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearItems@Enumeration@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearItems_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getItemsCount@Enumeration@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetItemsCount_0(global::System.IntPtr instance); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } + + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(64)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(96)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + public global::Std.BasicString.__Internal Expression; + + [FieldOffset(248)] + public 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_0(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_1(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_0(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getExpression@Item@Enumeration@AST@CppParser@CppSharp@@QEAAPEBDXZ")] + internal static extern global::System.IntPtr Expression_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?setExpression@Item@Enumeration@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void SetExpression_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } + + internal static new global::CppSharp.Parser.AST.Enumeration.Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new 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 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_1(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_0((__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + 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; + } + } + + public string Expression + { + get + { + var __ret = __Internal.Expression_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetExpression_0((__Instance + __PointerAdjustment), value); + } + } } - internal static new global::CppSharp.Parser.AST.Variable __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 Variable(native.ToPointer(), skipVTables); + return new Enumeration(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.Enumeration __CreateInstance(global::CppSharp.Parser.AST.Enumeration.__Internal native, bool skipVTables = false) { - return new Variable(native, skipVTables); + return new Enumeration(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Enumeration.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); - global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Variable(global::CppSharp.Parser.AST.Variable.__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 Variable(void* native, bool skipVTables = false) + protected Enumeration(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9167,19 +8074,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Variable() + public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Variable(global::CppSharp.Parser.AST.Variable _0) + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9198,37 +8105,92 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + { + var __ret = __Internal.GetItems_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearItems() + { + __Internal.ClearItems_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType); + return ((global::CppSharp.Parser.AST.Enumeration.__Internal*) __Instance)->modifiers; } 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.Enumeration.__Internal*) __Instance)->modifiers = value; } } - public string Mangled + public global::CppSharp.Parser.AST.Type Type { get { - var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + 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 { - __Internal.SetMangled_0((__Instance + __PointerAdjustment), 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_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 224)] + [StructLayout(LayoutKind.Explicit, Size = 264)] public new partial struct __Internal { [FieldOffset(0)] @@ -9286,49 +8248,62 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - public global::System.IntPtr declaration; + public global::Std.BasicString.__Internal Mangled; + + [FieldOffset(248)] + public 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="??0Variable@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0Variable@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1Variable@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getMangled@Variable@AST@CppParser@CppSharp@@QEAAPEBDXZ")] + internal static extern global::System.IntPtr Mangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?setMangled@Variable@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void SetMangled_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); } - internal static new global::CppSharp.Parser.AST.Friend __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 Friend(native.ToPointer(), skipVTables); + return new Variable(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.Variable __CreateInstance(global::CppSharp.Parser.AST.Variable.__Internal native, bool skipVTables = false) { - return new Friend(native, skipVTables); + return new Variable(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Friend.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Variable.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); - global::CppSharp.Parser.AST.Friend.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + global::CppSharp.Parser.AST.Variable.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Friend(global::CppSharp.Parser.AST.Friend.__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 Friend(void* native, bool skipVTables = false) + protected Variable(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9337,19 +8312,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Friend() + public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Friend(global::CppSharp.Parser.AST.Friend _0) + public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9368,108 +8343,115 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Declaration Declaration + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { 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; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Variable.__Internal*) __Instance)->qualifiedType); } set { - ((global::CppSharp.Parser.AST.Friend.__Internal*) __Instance)->declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : 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 string Mangled + { + get + { + var __ret = __Internal.Mangled_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetMangled_0((__Instance + __PointerAdjustment), value); } } } - public unsafe partial class Statement : IDisposable + public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(4)] + public byte isVirtual; [FieldOffset(8)] - public global::System.IntPtr decl; + public global::System.IntPtr type; [FieldOffset(16)] - public global::Std.BasicString.__Internal String; - - [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_1(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_0(global::System.IntPtr instance, int delete); + public int offset; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getString@Statement@AST@CppParser@CppSharp@@QEAAPEBDXZ")] - internal static extern global::System.IntPtr String_0(global::System.IntPtr instance); + EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?setString@Statement@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void SetString_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QEAA@AEBU0123@@Z")] + internal static extern global::System.IntPtr cctor_1(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(); + 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 global::CppSharp.Parser.AST.BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Statement(native.ToPointer(), skipVTables); + return new BaseClassSpecifier(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.BaseClassSpecifier __CreateInstance(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native, bool skipVTables = false) { - return new Statement(native, skipVTables); + return new BaseClassSpecifier(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Statement.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__Internal)); - global::CppSharp.Parser.AST.Statement.__Internal.cctor_1(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 Statement(global::CppSharp.Parser.AST.Statement.__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 Statement(void* native, bool skipVTables = false) + protected BaseClassSpecifier(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new global::System.IntPtr(native); } - public Statement(global::CppSharp.Parser.AST.Statement _0) + public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Statement.__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_1((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + { + __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); } public void Dispose() @@ -9479,110 +8461,182 @@ namespace CppSharp public virtual void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.StatementClass Class + 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.Statement.__Internal*) __Instance)->_class; + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual != 0; } set { - ((global::CppSharp.Parser.AST.Statement.__Internal*) __Instance)->_class = value; + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.Declaration Decl + public global::CppSharp.Parser.AST.Type Type { 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.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.Statement.__Internal*) __Instance)->decl = 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 string String + public int Offset { get { - var __ret = __Internal.String_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); + return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; } set { - __Internal.SetString_0((__Instance + __PointerAdjustment), value); + ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset = value; } } } - public unsafe partial class Expression : global::CppSharp.Parser.AST.Statement, IDisposable + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 248)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr decl; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public global::Std.BasicString.__Internal String; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(64)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(96)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(232)] + public global::System.IntPtr _class; + + [FieldOffset(240)] + public byte isBitField; + + [FieldOffset(244)] + public uint bitWidth; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Expression@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0Field@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Field@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1Expression@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1Field@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.Expression __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 Expression(native.ToPointer(), skipVTables); + return new Field(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.Expression __CreateInstance(global::CppSharp.Parser.AST.Expression.__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 Expression(native, skipVTables); + return new Field(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Expression.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); - global::CppSharp.Parser.AST.Expression.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Expression(global::CppSharp.Parser.AST.Expression.__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 Expression(void* native, bool skipVTables = false) + protected Field(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9591,10 +8645,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Expression(global::CppSharp.Parser.AST.Expression _0) + public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expression.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Field(global::CppSharp.Parser.AST.Field _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -9605,84 +8668,172 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((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.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 BinaryOperator : global::CppSharp.Parser.AST.Expression, IDisposable + public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr decl; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public global::Std.BasicString.__Internal String; + public global::CppSharp.Parser.SourceLocation.__Internal location; - [FieldOffset(48)] - public global::System.IntPtr LHS; + [FieldOffset(20)] + public int lineNumberStart; - [FieldOffset(56)] - public global::System.IntPtr RHS; + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; [FieldOffset(64)] - public global::Std.BasicString.__Internal OpcodeStr; + public global::Std.BasicString.__Internal USR; - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BinaryOperator@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + [FieldOffset(96)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1BinaryOperator@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getOpcodeStr@BinaryOperator@AST@CppParser@CppSharp@@QEAAPEBDXZ")] - internal static extern global::System.IntPtr OpcodeStr_0(global::System.IntPtr instance); + EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?setOpcodeStr@BinaryOperator@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] - internal static extern void SetOpcodeStr_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + EntryPoint="??1AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.BinaryOperator __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 BinaryOperator(native.ToPointer(), skipVTables); + return new AccessSpecifierDecl(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.AccessSpecifierDecl __CreateInstance(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native, bool skipVTables = false) { - return new BinaryOperator(native, skipVTables); + return new AccessSpecifierDecl(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BinaryOperator.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); - global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator.__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 BinaryOperator(void* native, bool skipVTables = false) + protected AccessSpecifierDecl(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9691,10 +8842,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__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)) @@ -9705,138 +8865,273 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + } - public global::CppSharp.Parser.AST.Expression LHS + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 576)] + public new partial struct __Internal { - 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; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; - 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(8)] + public global::System.IntPtr _namespace; - set - { - ((global::CppSharp.Parser.AST.BinaryOperator.__Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; - } - } + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; - public string OpcodeStr - { - get - { - var __ret = __Internal.OpcodeStr_0((__Instance + __PointerAdjustment)); - return Marshal.PtrToStringAnsi(__ret); - } + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(64)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(96)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(240)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(264)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(336)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(360)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(384)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(408)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(432)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(448)] + public byte isAnonymous; + + [FieldOffset(456)] + internal global::Std.Vector.__Internal Bases; + + [FieldOffset(480)] + internal global::Std.Vector.__Internal Fields; + + [FieldOffset(504)] + internal global::Std.Vector.__Internal Methods; + + [FieldOffset(528)] + internal global::Std.Vector.__Internal Specifiers; + + [FieldOffset(552)] + public byte isPOD; + + [FieldOffset(553)] + public byte isAbstract; + + [FieldOffset(554)] + public byte isUnion; + + [FieldOffset(555)] + public byte isDynamic; + + [FieldOffset(556)] + public byte isPolymorphic; + + [FieldOffset(557)] + public byte hasNonTrivialDefaultConstructor; + + [FieldOffset(558)] + public byte hasNonTrivialCopyConstructor; + + [FieldOffset(559)] + public byte hasNonTrivialDestructor; + + [FieldOffset(560)] + public byte isExternCContext; + + [FieldOffset(561)] + public byte isInjected; + + [FieldOffset(568)] + public global::System.IntPtr layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Class@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0Class@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(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")] + internal static extern void dtor_0(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_0(global::System.IntPtr instance, 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_0(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_0(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_0(global::System.IntPtr instance, uint i); + + [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_0(global::System.IntPtr instance, global::System.IntPtr s); - set - { - __Internal.SetOpcodeStr_0((__Instance + __PointerAdjustment), value); - } - } - } + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearFields@Class@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearFields_0(global::System.IntPtr instance); - public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 72)] - public new partial struct __Internal - { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + [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_0(global::System.IntPtr instance, uint i); - [FieldOffset(8)] - public global::System.IntPtr decl; + [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_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(16)] - public global::Std.BasicString.__Internal String; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearMethods@Class@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearMethods_0(global::System.IntPtr instance); - [FieldOffset(48)] - internal global::Std.Vector.__Internal Arguments; + [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_0(global::System.IntPtr instance, uint i); [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?addSpecifiers@Class@AST@CppParser@CppSharp@@QEAAXAEAPEAVAccessSpecifierDecl@234@@Z")] + internal static extern void AddSpecifiers_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1CallExpr@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + EntryPoint="?clearSpecifiers@Class@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearSpecifiers_0(global::System.IntPtr instance); [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_0(global::System.IntPtr instance, uint i); + EntryPoint="?getBasesCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetBasesCount_0(global::System.IntPtr instance); [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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="?getFieldsCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetFieldsCount_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@CallExpr@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + EntryPoint="?getMethodsCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetMethodsCount_0(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_0(global::System.IntPtr instance); + EntryPoint="?getSpecifiersCount@Class@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetSpecifiersCount_0(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.Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new CallExpr(native.ToPointer(), skipVTables); + return new Class(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.Class __CreateInstance(global::CppSharp.Parser.AST.Class.__Internal native, bool skipVTables = false) { - return new CallExpr(native, skipVTables); + return new Class(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.CallExpr.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Class.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); - global::CppSharp.Parser.AST.CallExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + global::CppSharp.Parser.AST.Class.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private CallExpr(global::CppSharp.Parser.AST.CallExpr.__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 CallExpr(void* native, bool skipVTables = false) + protected Class(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -9845,10 +9140,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__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)) @@ -9859,7 +9163,7 @@ namespace CppSharp public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.Statement __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -9867,296 +9171,459 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) { - var __ret = __Internal.GetArguments_0((__Instance + __PointerAdjustment), i); - global::CppSharp.Parser.AST.Expression __result0; + var __ret = __Internal.GetBases_0((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.BaseClassSpecifier __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.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.Expression 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_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddBases_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearBases() { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.ClearBases_0((__Instance + __PointerAdjustment)); } - public uint ArgumentsCount + public global::CppSharp.Parser.AST.Field GetFields(uint i) { - get - { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); - return __ret; - } + var __ret = __Internal.GetFields_0((__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 unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expression, IDisposable - { - [StructLayout(LayoutKind.Explicit, Size = 72)] - public new partial struct __Internal + public void AddFields(global::CppSharp.Parser.AST.Field s) { - [FieldOffset(0)] - public global::CppSharp.Parser.AST.StatementClass _class; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(8)] - public global::System.IntPtr decl; + public void ClearFields() + { + __Internal.ClearFields_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(16)] - public global::Std.BasicString.__Internal String; + public global::CppSharp.Parser.AST.Method GetMethods(uint i) + { + var __ret = __Internal.GetMethods_0((__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(48)] - internal global::Std.Vector.__Internal Arguments; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + public void ClearMethods() + { + __Internal.ClearMethods_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1CXXConstructExpr@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + { + var __ret = __Internal.GetSpecifiers_0((__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; + } - [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_0(global::System.IntPtr instance, uint i); + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [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_0(global::System.IntPtr instance, global::System.IntPtr s); + public void ClearSpecifiers() + { + __Internal.ClearSpecifiers_0((__Instance + __PointerAdjustment)); + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + 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; + } - [SuppressUnmanagedCodeSecurity] - [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@CXXConstructExpr@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isDynamic = (byte) (value ? 1 : 0); + } } - internal static new global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + public bool IsPolymorphic { - return new CXXConstructExpr(native.ToPointer(), skipVTables); + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->isPolymorphic = (byte) (value ? 1 : 0); + } } - internal static global::CppSharp.Parser.AST.CXXConstructExpr __CreateInstance(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) + public bool HasNonTrivialDefaultConstructor { - return new CXXConstructExpr(native, 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); + } } - private static void* __CopyValue(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native) + public bool HasNonTrivialCopyConstructor { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); - global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); - return ret.ToPointer(); + 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 CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) + public bool HasNonTrivialDestructor { - __ownsNativeInstance = true; - NativeToManagedMap[__Instance] = this; + get + { + return ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Class.__Internal*) __Instance)->hasNonTrivialDestructor = (byte) (value ? 1 : 0); + } } - protected CXXConstructExpr(void* native, bool skipVTables = false) - : base((void*) null) + public bool IsExternCContext { - __PointerAdjustment = 0; - if (native == null) - return; - __Instance = new global::System.IntPtr(native); + 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 CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) - : this((void*) null) + public bool IsInjected { - __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_1((__Instance + __PointerAdjustment), __arg0); + 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 override void Dispose(bool disposing) + public global::CppSharp.Parser.AST.ClassLayout Layout { - global::CppSharp.Parser.AST.Statement __dummy; - NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + 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 global::CppSharp.Parser.AST.Expression GetArguments(uint i) + public uint BasesCount { - var __ret = __Internal.GetArguments_0((__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; + get + { + var __ret = __Internal.GetBasesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public void AddArguments(global::CppSharp.Parser.AST.Expression s) + public uint FieldsCount { - 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_0((__Instance + __PointerAdjustment), __arg0); + get + { + var __ret = __Internal.GetFieldsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public void ClearArguments() + public uint MethodsCount { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + get + { + var __ret = __Internal.GetMethodsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } } - public uint ArgumentsCount + public uint SpecifiersCount { get { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetSpecifiersCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class FunctionTemplateSpecialization : IDisposable + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 48)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 248)] + public new partial struct __Internal { [FieldOffset(0)] - public global::System.IntPtr _template; + public global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - internal global::Std.Vector.__Internal Arguments; + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; [FieldOffset(32)] - public global::System.IntPtr specializedFunction; + public global::Std.BasicString.__Internal Name; - [FieldOffset(40)] - public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [FieldOffset(64)] + public global::Std.BasicString.__Internal USR; - [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_0(global::System.IntPtr instance); + [FieldOffset(96)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(224)] + internal global::Std.Vector.__Internal Parameters; [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_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor_1(global::System.IntPtr instance); [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_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + EntryPoint="??0Template@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); [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_0(global::System.IntPtr instance, global::System.IntPtr s); + EntryPoint="??1Template@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearArguments_0(global::System.IntPtr instance); + EntryPoint="?getParameters@Template@AST@CppParser@CppSharp@@QEAAPEAVDeclaration@234@I@Z")] + internal static extern global::System.IntPtr GetParameters_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); - } - - public global::System.IntPtr __Instance { get; protected set; } + EntryPoint="?addParameters@Template@AST@CppParser@CppSharp@@QEAAXAEAPEAVDeclaration@234@@Z")] + internal static extern void AddParameters_0(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.Cdecl, + EntryPoint="?clearParameters@Template@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearParameters_0(global::System.IntPtr instance); - protected bool __ownsNativeInstance; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getParametersCount@Template@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetParametersCount_0(global::System.IntPtr instance); + } - internal static global::CppSharp.Parser.AST.FunctionTemplateSpecialization __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 FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + return new Template(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.Template __CreateInstance(global::CppSharp.Parser.AST.Template.__Internal native, bool skipVTables = false) { - return new FunctionTemplateSpecialization(native, skipVTables); + return new Template(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.Template.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + global::CppSharp.Parser.AST.Template.__Internal.cctor_2(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__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 FunctionTemplateSpecialization(void* native, bool skipVTables = false) + protected Template(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public FunctionTemplateSpecialization() + public Template(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.Template.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + public Template() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __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_1((__Instance + __PointerAdjustment), __arg0); + __Internal.ctor_1((__Instance + __PointerAdjustment)); } - public void Dispose() + public Template(global::CppSharp.Parser.AST.Template _0) + : this((void*) null) { - Dispose(disposing: true); + __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_2((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -10164,88 +9631,66 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) { - var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); - __Internal.GetArguments_0((__Instance + __PointerAdjustment), new IntPtr(&__ret), i); - return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + var __ret = __Internal.GetParameters_0((__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 AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + 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.AddArguments_0((__Instance + __PointerAdjustment), __arg0); + __Internal.AddParameters_0((__Instance + __PointerAdjustment), __arg0); } - public void ClearArguments() + public void ClearParameters() { - __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + __Internal.ClearParameters_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.FunctionTemplate Template + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) { - 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; - } + return new global::CppSharp.Parser.AST.Template(kind); } - public global::CppSharp.Parser.AST.Function SpecializedFunction + public global::CppSharp.Parser.AST.Declaration TemplatedDecl { 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); + 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.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; + ((global::CppSharp.Parser.AST.Template.__Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public uint ArgumentsCount + public uint ParametersCount { get { - var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + var __ret = __Internal.GetParametersCount_0((__Instance + __PointerAdjustment)); return __ret; } } } - public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 216)] + [StructLayout(LayoutKind.Explicit, Size = 248)] public new partial struct __Internal { [FieldOffset(0)] @@ -10302,47 +9747,53 @@ namespace CppSharp [FieldOffset(208)] public global::System.IntPtr comment; + [FieldOffset(216)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(224)] + internal global::Std.Vector.__Internal Parameters; + [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0AccessSpecifierDecl@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1TypeAliasTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(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.TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new AccessSpecifierDecl(native.ToPointer(), skipVTables); + return new TypeAliasTemplate(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.TypeAliasTemplate __CreateInstance(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native, bool skipVTables = false) { - return new AccessSpecifierDecl(native, skipVTables); + return new TypeAliasTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); - global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl.__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 AccessSpecifierDecl(void* native, bool skipVTables = false) + protected TypeAliasTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10351,19 +9802,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public AccessSpecifierDecl() + public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10383,9 +9834,9 @@ namespace CppSharp } } - public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 448)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { [FieldOffset(0)] @@ -10412,164 +9863,86 @@ namespace CppSharp [FieldOffset(64)] public global::Std.BasicString.__Internal USR; - [FieldOffset(96)] - public global::Std.BasicString.__Internal DebugText; - - [FieldOffset(128)] - public byte isIncomplete; - - [FieldOffset(129)] - public byte isDependent; - - [FieldOffset(130)] - public byte isImplicit; - - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; - - [FieldOffset(144)] - public uint definitionOrder; - - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; - - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; - - [FieldOffset(200)] - public global::System.IntPtr originalPtr; - - [FieldOffset(208)] - public global::System.IntPtr comment; - - [FieldOffset(216)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; - - [FieldOffset(232)] - public byte isReturnIndirect; - - [FieldOffset(233)] - public byte hasThisReturn; - - [FieldOffset(234)] - public byte isConstExpr; - - [FieldOffset(235)] - public byte isVariadic; - - [FieldOffset(236)] - public byte isInline; - - [FieldOffset(237)] - public byte isPure; - - [FieldOffset(238)] - public byte isDeleted; - - [FieldOffset(240)] - public global::CppSharp.Parser.AST.FriendKind friendKind; - - [FieldOffset(244)] - public global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - - [FieldOffset(248)] - public global::Std.BasicString.__Internal Mangled; - - [FieldOffset(280)] - public global::Std.BasicString.__Internal Signature; - - [FieldOffset(312)] - public global::Std.BasicString.__Internal Body; - - [FieldOffset(344)] - public global::CppSharp.Parser.AST.CallingConvention callingConvention; - - [FieldOffset(352)] - internal global::Std.Vector.__Internal Parameters; - - [FieldOffset(376)] - public global::System.IntPtr specializationInfo; - - [FieldOffset(384)] - public global::System.IntPtr instantiatedFrom; - - [FieldOffset(392)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + [FieldOffset(96)] + public global::Std.BasicString.__Internal DebugText; - [FieldOffset(408)] - public byte isVirtual; + [FieldOffset(128)] + public byte isIncomplete; - [FieldOffset(409)] - public byte isStatic; + [FieldOffset(129)] + public byte isDependent; - [FieldOffset(410)] - public byte isConst; + [FieldOffset(130)] + public byte isImplicit; - [FieldOffset(411)] - public byte isExplicit; + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; - [FieldOffset(412)] - public byte isOverride; + [FieldOffset(144)] + public uint definitionOrder; - [FieldOffset(416)] - public global::CppSharp.Parser.AST.CXXMethodKind methodKind; + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; - [FieldOffset(420)] - public byte isDefaultConstructor; + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; - [FieldOffset(421)] - public byte isCopyConstructor; + [FieldOffset(200)] + public global::System.IntPtr originalPtr; - [FieldOffset(422)] - public byte isMoveConstructor; + [FieldOffset(208)] + public global::System.IntPtr comment; - [FieldOffset(424)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + [FieldOffset(216)] + public uint depth; - [FieldOffset(440)] - public global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + [FieldOffset(220)] + public uint index; + + [FieldOffset(224)] + public byte isParameterPack; [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_0(global::System.IntPtr instance); + EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QEAA@W4DeclarationKind@123@@Z")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Method@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1TemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - internal static new global::CppSharp.Parser.AST.Method __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 Method(native.ToPointer(), skipVTables); + return new TemplateParameter(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.TemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) { - return new Method(native, skipVTables); + return new TemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Method.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); - global::CppSharp.Parser.AST.Method.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Method(global::CppSharp.Parser.AST.Method.__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 Method(void* native, bool skipVTables = false) + protected TemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -10578,19 +9951,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Method() + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment)); + __Internal.ctor_0((__Instance + __PointerAdjustment), kind); } - public Method(global::CppSharp.Parser.AST.Method _0) + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -10609,305 +9982,411 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsVirtual + 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.Method.__Internal*) __Instance)->isVirtual != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isVirtual = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth = value; } } - public bool IsStatic + public uint Index { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isStatic = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index = value; } } - public bool IsConst + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst != 0; + return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isConst = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); } } + } - public bool IsExplicit + public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit != 0; - } + [FieldOffset(0)] + public global::CppSharp.Parser.AST.DeclarationKind kind; - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isExplicit = (byte) (value ? 1 : 0); - } + [FieldOffset(4)] + public global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(64)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(96)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(224)] + internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(248)] + public byte isParameterPack; + + [FieldOffset(249)] + public byte isPackExpansion; + + [FieldOffset(250)] + public byte isExpandedParameterPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0TemplateTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(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")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); } - public bool IsOverride + internal static new global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride != 0; - } + return new TemplateTemplateParameter(native.ToPointer(), skipVTables); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isOverride = (byte) (value ? 1 : 0); - } + internal static global::CppSharp.Parser.AST.TemplateTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + { + return new TemplateTemplateParameter(native, skipVTables); } - public global::CppSharp.Parser.AST.CXXMethodKind MethodKind + private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind; - } + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->methodKind = value; - } + private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TemplateTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TemplateTemplateParameter() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public bool IsDefaultConstructor + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + : this((void*) null) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isDefaultConstructor = (byte) (value ? 1 : 0); - } + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__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_1((__Instance + __PointerAdjustment), __arg0); } - public bool IsCopyConstructor + public override void Dispose(bool disposing) { - get - { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor != 0; - } - - set - { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isCopyConstructor = (byte) (value ? 1 : 0); - } + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); } - public bool IsMoveConstructor + public bool IsParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor != 0; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->isMoveConstructor = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.QualifiedType ConversionType + public bool IsPackExpansion { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->conversionType); + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } 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.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier; + return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Method.__Internal*) __Instance)->refQualifier = value; + ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class BaseClassSpecifier : IDisposable + public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 24)] - public partial struct __Internal + [StructLayout(LayoutKind.Explicit, Size = 248)] + public new partial struct __Internal { [FieldOffset(0)] - public global::CppSharp.Parser.AST.AccessSpecifier access; + public global::CppSharp.Parser.AST.DeclarationKind kind; [FieldOffset(4)] - public byte isVirtual; + public global::CppSharp.Parser.AST.AccessSpecifier access; [FieldOffset(8)] - public global::System.IntPtr type; + public global::System.IntPtr _namespace; [FieldOffset(16)] - public int offset; + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(64)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(96)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + public uint depth; + + [FieldOffset(220)] + public uint index; + + [FieldOffset(224)] + public byte isParameterPack; + + [FieldOffset(232)] + public global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0BaseClassSpecifier@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1TypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor_0(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.TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new BaseClassSpecifier(native.ToPointer(), skipVTables); + return new TypeTemplateParameter(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.TypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new BaseClassSpecifier(native, skipVTables); + return new TypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.TypeTemplateParameter.__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.TypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier.__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 BaseClassSpecifier(void* native, bool skipVTables = false) + protected TypeTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) { + __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public BaseClassSpecifier() + public TypeTemplateParameter() + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) + : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__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_1((__Instance + __PointerAdjustment), __arg0); } - public virtual void Dispose(bool disposing) + public override void Dispose(bool disposing) { - global::CppSharp.Parser.AST.BaseClassSpecifier __dummy; + global::CppSharp.Parser.AST.Declaration __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - 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 - { - 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; - } - } - - public int Offset + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument { get { - return ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset; + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal*) __Instance)->defaultArgument); } set { - ((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance)->offset = value; + ((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 Field : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { [StructLayout(LayoutKind.Explicit, Size = 248)] public new partial struct __Internal @@ -10967,58 +10446,67 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - public global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + public uint depth; + + [FieldOffset(220)] + public uint index; + + [FieldOffset(224)] + public byte isParameterPack; [FieldOffset(232)] - public global::System.IntPtr _class; + public global::System.IntPtr defaultArgument; [FieldOffset(240)] - public byte isBitField; + public uint position; [FieldOffset(244)] - public uint bitWidth; + public byte isPackExpansion; + + [FieldOffset(245)] + public byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0Field@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(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.NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new Field(native.ToPointer(), skipVTables); + return new NonTypeTemplateParameter(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.NonTypeTemplateParameter __CreateInstance(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) { - return new Field(native, skipVTables); + return new NonTypeTemplateParameter(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.Field.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); - global::CppSharp.Parser.AST.Field.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private Field(global::CppSharp.Parser.AST.Field.__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 Field(void* native, bool skipVTables = false) + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11027,19 +10515,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public Field() + public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public Field(global::CppSharp.Parser.AST.Field _0) + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11058,67 +10546,67 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.Expression DefaultArgument { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->qualifiedType); + 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.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.NonTypeTemplateParameter.__Internal*) __Instance)->defaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.Class Class + public uint Position { 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.NonTypeTemplateParameter.__Internal*) __Instance)->position; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->_class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->position = value; } } - public bool IsBitField + public bool IsPackExpansion { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField != 0; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->isBitField = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); } } - public uint BitWidth + public bool IsExpandedParameterPack { get { - return ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth; + return ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; } set { - ((global::CppSharp.Parser.AST.Field.__Internal*) __Instance)->bitWidth = value; + ((global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); } } } - public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 272)] public new partial struct __Internal { [FieldOffset(0)] @@ -11176,55 +10664,75 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - public uint depth; - - [FieldOffset(220)] - public uint index; + public global::System.IntPtr TemplatedDecl; [FieldOffset(224)] - public byte isParameterPack; + internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(248)] + internal global::Std.Vector.__Internal Specializations; [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_0(global::System.IntPtr instance, global::CppSharp.Parser.AST.DeclarationKind kind); + EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0TemplateParameter@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0ClassTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1ClassTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QEAAPEAVClassTemplateSpecialization@234@I@Z")] + internal static extern global::System.IntPtr GetSpecializations_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QEAAXAEAPEAVClassTemplateSpecialization@234@@Z")] + internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearSpecializations@ClassTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSpecializationsCount@ClassTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetSpecializationsCount_0(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.ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplate(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.ClassTemplate __CreateInstance(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) { - return new TemplateParameter(native, skipVTables); + return new ClassTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11233,19 +10741,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public ClassTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; - __Internal.ctor_0((__Instance + __PointerAdjustment), kind); + __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) + public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11264,54 +10772,43 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) { - return new global::CppSharp.Parser.AST.TemplateParameter(kind); + var __ret = __Internal.GetSpecializations_0((__Instance + __PointerAdjustment), i); + global::CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplateSpecialization) global::CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; } - public uint Depth + public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->depth = value; - } + 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_0((__Instance + __PointerAdjustment), __arg0); } - public uint Index + public void ClearSpecializations() { - get - { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->index = value; - } + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); } - public bool IsParameterPack + public uint SpecializationsCount { get { - return ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 616)] public new partial struct __Internal { [FieldOffset(0)] @@ -11320,110 +10817,202 @@ namespace CppSharp [FieldOffset(4)] public global::CppSharp.Parser.AST.AccessSpecifier access; - [FieldOffset(8)] - public global::System.IntPtr _namespace; + [FieldOffset(8)] + public global::System.IntPtr _namespace; + + [FieldOffset(16)] + public global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(20)] + public int lineNumberStart; + + [FieldOffset(24)] + public int lineNumberEnd; + + [FieldOffset(32)] + public global::Std.BasicString.__Internal Name; + + [FieldOffset(64)] + public global::Std.BasicString.__Internal USR; + + [FieldOffset(96)] + public global::Std.BasicString.__Internal DebugText; + + [FieldOffset(128)] + public byte isIncomplete; + + [FieldOffset(129)] + public byte isDependent; + + [FieldOffset(130)] + public byte isImplicit; + + [FieldOffset(136)] + public global::System.IntPtr completeDeclaration; + + [FieldOffset(144)] + public uint definitionOrder; + + [FieldOffset(152)] + internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(176)] + internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(200)] + public global::System.IntPtr originalPtr; + + [FieldOffset(208)] + public global::System.IntPtr comment; + + [FieldOffset(216)] + internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(240)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(264)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(336)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(360)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(384)] + internal global::Std.Vector.__Internal Variables; - [FieldOffset(16)] - public global::CppSharp.Parser.SourceLocation.__Internal location; + [FieldOffset(408)] + internal global::Std.Vector.__Internal Friends; - [FieldOffset(20)] - public int lineNumberStart; + [FieldOffset(432)] + internal global::Std.Map.__Internal anonymous; - [FieldOffset(24)] - public int lineNumberEnd; + [FieldOffset(448)] + public byte isAnonymous; - [FieldOffset(32)] - public global::Std.BasicString.__Internal Name; + [FieldOffset(456)] + internal global::Std.Vector.__Internal Bases; - [FieldOffset(64)] - public global::Std.BasicString.__Internal USR; + [FieldOffset(480)] + internal global::Std.Vector.__Internal Fields; - [FieldOffset(96)] - public global::Std.BasicString.__Internal DebugText; + [FieldOffset(504)] + internal global::Std.Vector.__Internal Methods; - [FieldOffset(128)] - public byte isIncomplete; + [FieldOffset(528)] + internal global::Std.Vector.__Internal Specifiers; - [FieldOffset(129)] - public byte isDependent; + [FieldOffset(552)] + public byte isPOD; - [FieldOffset(130)] - public byte isImplicit; + [FieldOffset(553)] + public byte isAbstract; - [FieldOffset(136)] - public global::System.IntPtr completeDeclaration; + [FieldOffset(554)] + public byte isUnion; - [FieldOffset(144)] - public uint definitionOrder; + [FieldOffset(555)] + public byte isDynamic; - [FieldOffset(152)] - internal global::Std.Vector.__Internal PreprocessedEntities; + [FieldOffset(556)] + public byte isPolymorphic; - [FieldOffset(176)] - internal global::Std.Vector.__Internal Redeclarations; + [FieldOffset(557)] + public byte hasNonTrivialDefaultConstructor; - [FieldOffset(200)] - public global::System.IntPtr originalPtr; + [FieldOffset(558)] + public byte hasNonTrivialCopyConstructor; - [FieldOffset(208)] - public global::System.IntPtr comment; + [FieldOffset(559)] + public byte hasNonTrivialDestructor; - [FieldOffset(216)] - public global::System.IntPtr TemplatedDecl; + [FieldOffset(560)] + public byte isExternCContext; - [FieldOffset(224)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(561)] + public byte isInjected; - [FieldOffset(248)] - public byte isParameterPack; + [FieldOffset(568)] + public global::System.IntPtr layout; - [FieldOffset(249)] - public byte isPackExpansion; + [FieldOffset(576)] + public global::System.IntPtr templatedDecl; - [FieldOffset(250)] - public byte isExpandedParameterPack; + [FieldOffset(584)] + internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(608)] + public 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="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] + internal static extern void GetArguments_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?addArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] + internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getArgumentsCount@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetArgumentsCount_0(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.ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new TemplateTemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplateSpecialization(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.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) { - return new TemplateTemplateParameter(native, skipVTables); + return new ClassTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected TemplateTemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplateSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11432,19 +11021,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public TemplateTemplateParameter() + public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11463,49 +11052,70 @@ namespace CppSharp Marshal.FreeHGlobal(__Instance); } - public bool IsParameterPack + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var __ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); + } + + public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack != 0; + global::CppSharp.Parser.AST.ClassTemplate __result0; + if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; + else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) + __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; + else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + return __result0; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isParameterPack = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; } } - public bool IsPackExpansion + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion != 0; + return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isPackExpansion = (byte) (value ? 1 : 0); + ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; } } - public bool IsExpandedParameterPack + public uint ArgumentsCount { get { - return ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack != 0; - } - - set - { - ((global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal*) __Instance)->isExpandedParameterPack = (byte) (value ? 1 : 0); + var __ret = __Internal.GetArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; } } } - public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 248)] + [StructLayout(LayoutKind.Explicit, Size = 616)] public new partial struct __Internal { [FieldOffset(0)] @@ -11562,68 +11172,134 @@ namespace CppSharp [FieldOffset(208)] public global::System.IntPtr comment; - [FieldOffset(216)] - public uint depth; + [FieldOffset(216)] + internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(240)] + internal global::Std.Vector.__Internal Enums; + + [FieldOffset(264)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(336)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(360)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(384)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(408)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(432)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(448)] + public byte isAnonymous; + + [FieldOffset(456)] + internal global::Std.Vector.__Internal Bases; + + [FieldOffset(480)] + internal global::Std.Vector.__Internal Fields; + + [FieldOffset(504)] + internal global::Std.Vector.__Internal Methods; + + [FieldOffset(528)] + internal global::Std.Vector.__Internal Specifiers; + + [FieldOffset(552)] + public byte isPOD; + + [FieldOffset(553)] + public byte isAbstract; + + [FieldOffset(554)] + public byte isUnion; + + [FieldOffset(555)] + public byte isDynamic; + + [FieldOffset(556)] + public byte isPolymorphic; + + [FieldOffset(557)] + public byte hasNonTrivialDefaultConstructor; + + [FieldOffset(558)] + public byte hasNonTrivialCopyConstructor; + + [FieldOffset(559)] + public byte hasNonTrivialDestructor; - [FieldOffset(220)] - public uint index; + [FieldOffset(560)] + public byte isExternCContext; - [FieldOffset(224)] - public byte isParameterPack; + [FieldOffset(561)] + public byte isInjected; - [FieldOffset(232)] - public global::System.IntPtr defaultArgument; + [FieldOffset(568)] + public global::System.IntPtr layout; - [FieldOffset(240)] - public uint position; + [FieldOffset(576)] + public global::System.IntPtr templatedDecl; - [FieldOffset(244)] - public byte isPackExpansion; + [FieldOffset(584)] + internal global::Std.Vector.__Internal Arguments; - [FieldOffset(245)] - public byte isExpandedParameterPack; + [FieldOffset(608)] + public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0NonTypeTemplateParameter@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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="??1ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(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.ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new NonTypeTemplateParameter(native.ToPointer(), skipVTables); + return new ClassTemplatePartialSpecialization(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.ClassTemplatePartialSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) { - return new NonTypeTemplateParameter(native, skipVTables); + return new ClassTemplatePartialSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); - global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal native, bool skipVTables = false) + private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -11632,19 +11308,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public NonTypeTemplateParameter() + public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11662,68 +11338,11 @@ namespace CppSharp if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - - 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 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); - } - } } - public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 616)] + [StructLayout(LayoutKind.Explicit, Size = 272)] public new partial struct __Internal { [FieldOffset(0)] @@ -11781,174 +11400,251 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - internal global::Std.Vector.__Internal Namespaces; - - [FieldOffset(240)] - internal global::Std.Vector.__Internal Enums; - - [FieldOffset(264)] - internal global::Std.Vector.__Internal Functions; - - [FieldOffset(288)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(312)] - internal global::Std.Vector.__Internal Templates; + public global::System.IntPtr TemplatedDecl; - [FieldOffset(336)] - internal global::Std.Vector.__Internal Typedefs; + [FieldOffset(224)] + internal global::Std.Vector.__Internal Parameters; - [FieldOffset(360)] - internal global::Std.Vector.__Internal TypeAliases; + [FieldOffset(248)] + internal global::Std.Vector.__Internal Specializations; - [FieldOffset(384)] - internal global::Std.Vector.__Internal Variables; + [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_0(global::System.IntPtr instance); - [FieldOffset(408)] - internal global::Std.Vector.__Internal Friends; + [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_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(432)] - internal global::Std.Map.__Internal anonymous; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1FunctionTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); - [FieldOffset(448)] - public byte isAnonymous; + [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_0(global::System.IntPtr instance, uint i); - [FieldOffset(456)] - internal global::Std.Vector.__Internal Bases; + [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_0(global::System.IntPtr instance, global::System.IntPtr s); - [FieldOffset(480)] - internal global::Std.Vector.__Internal Fields; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?clearSpecializations@FunctionTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); - [FieldOffset(504)] - internal global::Std.Vector.__Internal Methods; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getSpecializationsCount@FunctionTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); + } - [FieldOffset(528)] - internal global::Std.Vector.__Internal Specifiers; + internal static new global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new FunctionTemplate(native.ToPointer(), skipVTables); + } - [FieldOffset(552)] - public byte isPOD; + internal static global::CppSharp.Parser.AST.FunctionTemplate __CreateInstance(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + { + return new FunctionTemplate(native, skipVTables); + } - [FieldOffset(553)] - public byte isAbstract; + 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_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } - [FieldOffset(554)] - public byte isUnion; + private FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } - [FieldOffset(555)] - public byte isDynamic; + protected FunctionTemplate(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } - [FieldOffset(556)] - public byte isPolymorphic; + public FunctionTemplate() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(557)] - public byte hasNonTrivialDefaultConstructor; + 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_1((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(558)] - public byte hasNonTrivialCopyConstructor; + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } - [FieldOffset(559)] - public byte hasNonTrivialDestructor; + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations_0((__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(560)] - public byte isExternCContext; + 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_0((__Instance + __PointerAdjustment), __arg0); + } - [FieldOffset(561)] - public byte isInjected; + public void ClearSpecializations() + { + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + } - [FieldOffset(568)] - public global::System.IntPtr layout; + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + } - [FieldOffset(576)] - public global::System.IntPtr templatedDecl; + public unsafe partial class FunctionTemplateSpecialization : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::System.IntPtr _template; - [FieldOffset(584)] + [FieldOffset(8)] internal global::Std.Vector.__Internal Arguments; - [FieldOffset(608)] + [FieldOffset(32)] + public global::System.IntPtr specializedFunction; + + [FieldOffset(40)] public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + EntryPoint="??0FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??1FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(global::System.IntPtr instance, int delete); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] + EntryPoint="?getArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAA?AUTemplateArgument@234@I@Z")] internal static extern void GetArguments_0(global::System.IntPtr instance, global::System.IntPtr @return, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?addArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] + EntryPoint="?addArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXAEAUTemplateArgument@234@@Z")] internal static extern void AddArguments_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearArguments@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXXZ")] + EntryPoint="?clearArguments@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAXXZ")] internal static extern void ClearArguments_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getArgumentsCount@ClassTemplateSpecialization@AST@CppParser@CppSharp@@QEAAIXZ")] + EntryPoint="?getArgumentsCount@FunctionTemplateSpecialization@AST@CppParser@CppSharp@@QEAAIXZ")] internal static extern uint GetArgumentsCount_0(global::System.IntPtr instance); } - internal static new global::CppSharp.Parser.AST.ClassTemplateSpecialization __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 ClassTemplateSpecialization(native.ToPointer(), skipVTables); + return new FunctionTemplateSpecialization(native.ToPointer(), skipVTables); } - internal static global::CppSharp.Parser.AST.ClassTemplateSpecialization __CreateInstance(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__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 ClassTemplateSpecialization(native, skipVTables); + return new FunctionTemplateSpecialization(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__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 ClassTemplateSpecialization(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 ClassTemplateSpecialization() - : this((void*) null) + public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) - : this((void*) null) + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -11957,9 +11653,14 @@ namespace CppSharp __Internal.cctor_1((__Instance + __PointerAdjustment), __arg0); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); if (disposing) __Internal.dtor_0((__Instance + __PointerAdjustment), 0); @@ -11987,21 +11688,39 @@ namespace CppSharp __Internal.ClearArguments_0((__Instance + __PointerAdjustment)); } - public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + public global::CppSharp.Parser.AST.FunctionTemplate Template { get { - global::CppSharp.Parser.AST.ClassTemplate __result0; - if (((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl == IntPtr.Zero) __result0 = null; - else if (global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl)) - __result0 = (global::CppSharp.Parser.AST.ClassTemplate) global::CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl]; - else __result0 = global::CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl); + 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.ClassTemplateSpecialization.__Internal*) __Instance)->templatedDecl = 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; } } @@ -12009,12 +11728,12 @@ namespace CppSharp { get { - return ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind; + return ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind; } set { - ((global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; + ((global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal*) __Instance)->specializationKind = value; } } @@ -12028,9 +11747,9 @@ namespace CppSharp } } - public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 616)] + [StructLayout(LayoutKind.Explicit, Size = 272)] public new partial struct __Internal { [FieldOffset(0)] @@ -12088,133 +11807,75 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - internal global::Std.Vector.__Internal Namespaces; - - [FieldOffset(240)] - internal global::Std.Vector.__Internal Enums; - - [FieldOffset(264)] - internal global::Std.Vector.__Internal Functions; - - [FieldOffset(288)] - internal global::Std.Vector.__Internal Classes; - - [FieldOffset(312)] - internal global::Std.Vector.__Internal Templates; - - [FieldOffset(336)] - internal global::Std.Vector.__Internal Typedefs; - - [FieldOffset(360)] - internal global::Std.Vector.__Internal TypeAliases; - - [FieldOffset(384)] - internal global::Std.Vector.__Internal Variables; - - [FieldOffset(408)] - internal global::Std.Vector.__Internal Friends; - - [FieldOffset(432)] - internal global::Std.Map.__Internal anonymous; - - [FieldOffset(448)] - public byte isAnonymous; - - [FieldOffset(456)] - internal global::Std.Vector.__Internal Bases; - - [FieldOffset(480)] - internal global::Std.Vector.__Internal Fields; - - [FieldOffset(504)] - internal global::Std.Vector.__Internal Methods; - - [FieldOffset(528)] - internal global::Std.Vector.__Internal Specifiers; - - [FieldOffset(552)] - public byte isPOD; - - [FieldOffset(553)] - public byte isAbstract; - - [FieldOffset(554)] - public byte isUnion; - - [FieldOffset(555)] - public byte isDynamic; - - [FieldOffset(556)] - public byte isPolymorphic; - - [FieldOffset(557)] - public byte hasNonTrivialDefaultConstructor; - - [FieldOffset(558)] - public byte hasNonTrivialCopyConstructor; - - [FieldOffset(559)] - public byte hasNonTrivialDestructor; + public global::System.IntPtr TemplatedDecl; - [FieldOffset(560)] - public byte isExternCContext; + [FieldOffset(224)] + internal global::Std.Vector.__Internal Parameters; - [FieldOffset(561)] - public byte isInjected; + [FieldOffset(248)] + internal global::Std.Vector.__Internal Specializations; - [FieldOffset(568)] - public global::System.IntPtr layout; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); - [FieldOffset(576)] - public global::System.IntPtr templatedDecl; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); - [FieldOffset(584)] - internal global::Std.Vector.__Internal Arguments; + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??1VarTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); - [FieldOffset(608)] - public global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + [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_0(global::System.IntPtr instance, uint i); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + EntryPoint="?addSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAXAEAPEAVVarTemplateSpecialization@234@@Z")] + internal static extern void AddSpecializations_0(global::System.IntPtr instance, global::System.IntPtr s); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] - internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + EntryPoint="?clearSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] + internal static extern void ClearSpecializations_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??1ClassTemplatePartialSpecialization@AST@CppParser@CppSharp@@QEAA@XZ")] - internal static extern void dtor_0(global::System.IntPtr instance, int delete); + EntryPoint="?getSpecializationsCount@VarTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] + internal static extern uint GetSpecializationsCount_0(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.VarTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + return new VarTemplate(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.VarTemplate __CreateInstance(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) { - return new ClassTemplatePartialSpecialization(native, skipVTables); + return new VarTemplate(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); - global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); return ret.ToPointer(); } - private ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__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 ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) + protected VarTemplate(void* native, bool skipVTables = false) : base((void*) null) { __PointerAdjustment = 0; @@ -12223,19 +11884,19 @@ namespace CppSharp __Instance = new global::System.IntPtr(native); } - public ClassTemplatePartialSpecialization() + public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; if (ReferenceEquals(_0, null)) @@ -12253,6 +11914,39 @@ namespace CppSharp if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } + + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + { + var __ret = __Internal.GetSpecializations_0((__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_0((__Instance + __PointerAdjustment), __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + } + + public uint SpecializationsCount + { + get + { + var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } } public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable @@ -12645,9 +12339,9 @@ namespace CppSharp } } - public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Explicit, Size = 272)] + [StructLayout(LayoutKind.Explicit, Size = 464)] public new partial struct __Internal { [FieldOffset(0)] @@ -12705,144 +12399,264 @@ namespace CppSharp public global::System.IntPtr comment; [FieldOffset(216)] - public global::System.IntPtr TemplatedDecl; + internal global::Std.Vector.__Internal Namespaces; - [FieldOffset(224)] - internal global::Std.Vector.__Internal Parameters; + [FieldOffset(240)] + internal global::Std.Vector.__Internal Enums; - [FieldOffset(248)] - internal global::Std.Vector.__Internal Specializations; + [FieldOffset(264)] + internal global::Std.Vector.__Internal Functions; + + [FieldOffset(288)] + internal global::Std.Vector.__Internal Classes; + + [FieldOffset(312)] + internal global::Std.Vector.__Internal Templates; + + [FieldOffset(336)] + internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(360)] + internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(384)] + internal global::Std.Vector.__Internal Variables; + + [FieldOffset(408)] + internal global::Std.Vector.__Internal Friends; + + [FieldOffset(432)] + internal global::Std.Map.__Internal anonymous; + + [FieldOffset(448)] + public byte isAnonymous; + + [FieldOffset(456)] + public byte isInline; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="??0VarTemplate@AST@CppParser@CppSharp@@QEAA@XZ")] + EntryPoint="??0Namespace@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern global::System.IntPtr ctor_0(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="??0Namespace@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] internal static extern global::System.IntPtr cctor_1(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")] + EntryPoint="??1Namespace@AST@CppParser@CppSharp@@QEAA@XZ")] internal static extern void dtor_0(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_0(global::System.IntPtr instance, uint i); + internal static new global::CppSharp.Parser.AST.Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Namespace(native.ToPointer(), skipVTables); + } - [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_0(global::System.IntPtr instance, global::System.IntPtr s); + internal static global::CppSharp.Parser.AST.Namespace __CreateInstance(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + { + return new Namespace(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.Namespace.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Namespace(global::CppSharp.Parser.AST.Namespace.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Namespace(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Namespace() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Namespace(global::CppSharp.Parser.AST.Namespace _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public override void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public bool IsInline + { + get + { + return ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline != 0; + } + + set + { + ((global::CppSharp.Parser.AST.Namespace.__Internal*) __Instance)->isInline = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class PreprocessedEntity : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] + public global::System.IntPtr originalPtr; + + [FieldOffset(16)] + public global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?clearSpecializations@VarTemplate@AST@CppParser@CppSharp@@QEAAXXZ")] - internal static extern void ClearSpecializations_0(global::System.IntPtr instance); + EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); [SuppressUnmanagedCodeSecurity] [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, - EntryPoint="?getSpecializationsCount@VarTemplate@AST@CppParser@CppSharp@@QEAAIXZ")] - internal static extern uint GetSpecializationsCount_0(global::System.IntPtr instance); + EntryPoint="??0PreprocessedEntity@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); } - internal static new global::CppSharp.Parser.AST.VarTemplate __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.PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) { - return new VarTemplate(native.ToPointer(), skipVTables); + return new PreprocessedEntity(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.PreprocessedEntity __CreateInstance(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) { - return new VarTemplate(native, skipVTables); + return new PreprocessedEntity(native, skipVTables); } - private static void* __CopyValue(global::CppSharp.Parser.AST.VarTemplate.__Internal native) + private static void* __CopyValue(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); - global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + *(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) ret = native; return ret.ToPointer(); } - private VarTemplate(global::CppSharp.Parser.AST.VarTemplate.__Internal native, bool skipVTables = false) + private PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; } - protected VarTemplate(void* native, bool skipVTables = false) - : base((void*) null) + protected PreprocessedEntity(void* native, bool skipVTables = false) { - __PointerAdjustment = 0; if (native == null) return; __Instance = new global::System.IntPtr(native); } - public VarTemplate() - : this((void*) null) + public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); __ownsNativeInstance = true; NativeToManagedMap[__Instance] = this; __Internal.ctor_0((__Instance + __PointerAdjustment)); } - public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) - : this((void*) null) + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__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_1((__Instance + __PointerAdjustment), __arg0); + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); } - public override void Dispose(bool disposing) + public void Dispose() { - global::CppSharp.Parser.AST.Declaration __dummy; + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.PreprocessedEntity __dummy; NativeToManagedMap.TryRemove(__Instance, out __dummy); - if (disposing) - __Internal.dtor_0((__Instance + __PointerAdjustment), 0); if (__ownsNativeInstance) Marshal.FreeHGlobal(__Instance); } - public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + public global::CppSharp.Parser.AST.MacroLocation MacroLocation { - var __ret = __Internal.GetSpecializations_0((__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; - } + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation; + } - 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_0((__Instance + __PointerAdjustment), __arg0); + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->macroLocation = value; + } } - public void ClearSpecializations() + public global::System.IntPtr OriginalPtr { - __Internal.ClearSpecializations_0((__Instance + __PointerAdjustment)); + get + { + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr; + } + + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->originalPtr = (global::System.IntPtr) value; + } } - public uint SpecializationsCount + public global::CppSharp.Parser.AST.DeclarationKind Kind { get { - var __ret = __Internal.GetSpecializationsCount_0((__Instance + __PointerAdjustment)); - return __ret; + return ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind; + } + + set + { + ((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance)->kind = value; } } } @@ -16423,6 +16237,192 @@ namespace CppSharp } } } + + public unsafe partial class RawComment : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public partial struct __Internal + { + [FieldOffset(0)] + public global::CppSharp.Parser.AST.RawCommentKind kind; + + [FieldOffset(8)] + public global::Std.BasicString.__Internal Text; + + [FieldOffset(40)] + public global::Std.BasicString.__Internal BriefText; + + [FieldOffset(72)] + public global::System.IntPtr fullCommentBlock; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QEAA@XZ")] + internal static extern global::System.IntPtr ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="??0RawComment@AST@CppParser@CppSharp@@QEAA@AEBV0123@@Z")] + internal static extern global::System.IntPtr cctor_1(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")] + internal static extern void dtor_0(global::System.IntPtr instance, int delete); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getText@RawComment@AST@CppParser@CppSharp@@QEAAPEBDXZ")] + internal static extern global::System.IntPtr Text_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?setText@RawComment@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void SetText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?getBriefText@RawComment@AST@CppParser@CppSharp@@QEAAPEBDXZ")] + internal static extern global::System.IntPtr BriefText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="?setBriefText@RawComment@AST@CppParser@CppSharp@@QEAAXPEBD@Z")] + internal static extern void SetBriefText_0(global::System.IntPtr instance, [MarshalAs(UnmanagedType.LPStr)] string s); + } + + 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 RawComment(native.ToPointer(), skipVTables); + } + + internal static global::CppSharp.Parser.AST.RawComment __CreateInstance(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + { + return new RawComment(native, skipVTables); + } + + private static void* __CopyValue(global::CppSharp.Parser.AST.RawComment.__Internal native) + { + var ret = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private RawComment(global::CppSharp.Parser.AST.RawComment.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected RawComment(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public RawComment() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + __Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public RawComment(global::CppSharp.Parser.AST.RawComment _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__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_1((__Instance + __PointerAdjustment), __arg0); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + public virtual void Dispose(bool disposing) + { + global::CppSharp.Parser.AST.RawComment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (disposing) + __Internal.dtor_0((__Instance + __PointerAdjustment), 0); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + 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 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; + } + } + + public string Text + { + get + { + var __ret = __Internal.Text_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetText_0((__Instance + __PointerAdjustment), value); + } + } + + public string BriefText + { + get + { + var __ret = __Internal.BriefText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + __Internal.SetBriefText_0((__Instance + __PointerAdjustment), value); + } + } + } } } } diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index c9cc3994..19a52df6 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -3547,7 +3547,7 @@ Declaration* Parser::WalkDeclaration(const clang::Decl* D, if (WalkRedecls) for (auto redecl : RD->redecls()) - Class->Redeclarations.push_back(WalkDeclaration(redecl, CanBeDefinition, false)); + Class->Redeclarations.push_back(WalkDeclaration(redecl, false, false)); // We store a definition order index into the declarations. // This is needed because declarations are added to their contexts as diff --git a/src/Generator/Passes/RenamePass.cs b/src/Generator/Passes/RenamePass.cs index 73935759..de03974d 100644 --- a/src/Generator/Passes/RenamePass.cs +++ b/src/Generator/Passes/RenamePass.cs @@ -218,8 +218,7 @@ namespace CppSharp.Passes public override bool VisitClassDecl(Class @class) { - if (!base.VisitClassDecl(@class)) - return false; + base.VisitClassDecl(@class); foreach (var property in @class.Properties.OrderByDescending(p => p.Access)) VisitProperty(property);