diff --git a/src/Core/Platform.cs b/src/Core/Platform.cs index bbd83dee..05c40ae8 100644 --- a/src/Core/Platform.cs +++ b/src/Core/Platform.cs @@ -48,6 +48,11 @@ namespace CppSharp } } + public static bool IsLinux + { + get { return Environment.OSVersion.Platform == PlatformID.Unix && !IsMacOS; } + } + public static bool IsMono { get { return Type.GetType("Mono.Runtime") != null; } diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/AST.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/AST.cs new file mode 100644 index 00000000..52a9036d --- /dev/null +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/AST.cs @@ -0,0 +1,14292 @@ +//---------------------------------------------------------------------------- +// <auto-generated> +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// </auto-generated> +//---------------------------------------------------------------------------- +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum TypeKind + { + Tag = 0, + Array = 1, + Function = 2, + Pointer = 3, + MemberPointer = 4, + Typedef = 5, + Attributed = 6, + Decayed = 7, + TemplateSpecialization = 8, + TemplateParameter = 9, + TemplateParameterSubstitution = 10, + InjectedClassName = 11, + DependentName = 12, + PackExpansion = 13, + Builtin = 14 + } + + public enum DeclarationKind + { + DeclarationContext = 0, + Typedef = 1, + TypeAlias = 2, + Parameter = 3, + Function = 4, + Method = 5, + Enumeration = 6, + EnumerationItem = 7, + Variable = 8, + Field = 9, + AccessSpecifier = 10, + Class = 11, + Template = 12, + TypeAliasTemplate = 13, + ClassTemplate = 14, + ClassTemplateSpecialization = 15, + ClassTemplatePartialSpecialization = 16, + FunctionTemplate = 17, + Namespace = 18, + PreprocessedEntity = 19, + MacroDefinition = 20, + MacroExpansion = 21, + TranslationUnit = 22, + Friend = 23, + TemplateTemplateParm = 24, + TemplateTypeParm = 25, + NonTypeTemplateParm = 26 + } + + public enum AccessSpecifier + { + Private = 0, + Protected = 1, + Public = 2 + } + + public enum RawCommentKind + { + Invalid = 0, + OrdinaryBCPL = 1, + OrdinaryC = 2, + BCPLSlash = 3, + BCPLExcl = 4, + JavaDoc = 5, + Qt = 6, + Merged = 7 + } + + public enum CommentKind + { + FullComment = 0, + BlockContentComment = 1, + BlockCommandComment = 2, + ParamCommandComment = 3, + TParamCommandComment = 4, + VerbatimBlockComment = 5, + VerbatimLineComment = 6, + ParagraphComment = 7, + HTMLTagComment = 8, + HTMLStartTagComment = 9, + HTMLEndTagComment = 10, + TextComment = 11, + InlineContentComment = 12, + InlineCommandComment = 13, + VerbatimBlockLineComment = 14 + } + + public enum CppAbi + { + Itanium = 0, + Microsoft = 1, + ARM = 2, + iOS = 3, + iOS64 = 4 + } + + public enum VTableComponentKind + { + VCallOffset = 0, + VBaseOffset = 1, + OffsetToTop = 2, + RTTI = 3, + FunctionPointer = 4, + CompleteDtorPointer = 5, + DeletingDtorPointer = 6, + UnusedFunctionPointer = 7 + } + + public enum CXXOperatorKind + { + None = 0, + New = 1, + Delete = 2, + Array_New = 3, + Array_Delete = 4, + Plus = 5, + Minus = 6, + Star = 7, + Slash = 8, + Percent = 9, + Caret = 10, + Amp = 11, + Pipe = 12, + Tilde = 13, + Exclaim = 14, + Equal = 15, + Less = 16, + Greater = 17, + PlusEqual = 18, + MinusEqual = 19, + StarEqual = 20, + SlashEqual = 21, + PercentEqual = 22, + CaretEqual = 23, + AmpEqual = 24, + PipeEqual = 25, + LessLess = 26, + GreaterGreater = 27, + LessLessEqual = 28, + GreaterGreaterEqual = 29, + EqualEqual = 30, + ExclaimEqual = 31, + LessEqual = 32, + GreaterEqual = 33, + AmpAmp = 34, + PipePipe = 35, + PlusPlus = 36, + MinusMinus = 37, + Comma = 38, + ArrowStar = 39, + Arrow = 40, + Call = 41, + Subscript = 42, + Conditional = 43, + Coawait = 44 + } + + public enum CallingConvention + { + Default = 0, + C = 1, + StdCall = 2, + ThisCall = 3, + FastCall = 4, + Unknown = 5 + } + + public enum TemplateSpecializationKind + { + Undeclared = 0, + ImplicitInstantiation = 1, + ExplicitSpecialization = 2, + ExplicitInstantiationDeclaration = 3, + ExplicitInstantiationDefinition = 4 + } + + public enum StatementClass + { + Any = 0, + BinaryOperator = 1, + CallExprClass = 2, + DeclRefExprClass = 3, + CXXConstructExprClass = 4, + CXXOperatorCallExpr = 5, + ImplicitCastExpr = 6, + ExplicitCastExpr = 7 + } + + public enum CXXMethodKind + { + Normal = 0, + Constructor = 1, + Destructor = 2, + Conversion = 3, + Operator = 4, + UsingDirective = 5 + } + + public enum PrimitiveType + { + Null = 0, + Void = 1, + Bool = 2, + WideChar = 3, + Char = 4, + UChar = 5, + Short = 6, + UShort = 7, + Int = 8, + UInt = 9, + Long = 10, + ULong = 11, + LongLong = 12, + ULongLong = 13, + Float = 14, + Double = 15, + LongDouble = 16, + IntPtr = 17 + } + + public enum MacroLocation + { + Unknown = 0, + ClassHead = 1, + ClassBody = 2, + FunctionHead = 3, + FunctionParameters = 4, + FunctionBody = 5 + } + + public enum ArchType + { + UnknownArch = 0, + x86 = 1, + x86_64 = 2 + } + + public unsafe partial class Type : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, CppSharp.Parser.AST.TypeKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST4TypeC2ERKS2_")] + 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; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, Type> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, Type>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static Type __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Type(native.ToPointer(), skipVTables); + } + + public static Type __CreateInstance(Type.Internal native, bool skipVTables = false) + { + return new Type(native, skipVTables); + } + + private static void* __CopyValue(Type.Internal native) + { + var ret = Marshal.AllocHGlobal(8); + CppSharp.Parser.AST.Type.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Type(Type.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Type(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Type(CppSharp.Parser.AST.TypeKind kind) + { + __Instance = Marshal.AllocHGlobal(8); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __arg0 = kind; + Internal.ctor_0((__Instance + __PointerAdjustment), __arg0); + } + + public Type(CppSharp.Parser.AST.Type _0) + { + __Instance = Marshal.AllocHGlobal(8); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.TypeKind Kind + { + get + { + return ((Internal*) __Instance)->Kind; + } + + set + { + ((Internal*) __Instance)->Kind = value; + } + } + + public bool IsDependent + { + get + { + return ((Internal*) __Instance)->IsDependent != 0; + } + + set + { + ((Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class TypeQualifiers : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 3)] + public partial struct Internal + { + [FieldOffset(0)] + public byte IsConst; + + [FieldOffset(1)] + public byte IsVolatile; + + [FieldOffset(2)] + public byte IsRestrict; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_")] + internal static extern void cctor_0(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, TypeQualifiers> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, TypeQualifiers>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static TypeQualifiers __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TypeQualifiers(native.ToPointer(), skipVTables); + } + + public static TypeQualifiers __CreateInstance(TypeQualifiers.Internal native, bool skipVTables = false) + { + return new TypeQualifiers(native, skipVTables); + } + + private static void* __CopyValue(TypeQualifiers.Internal native) + { + var ret = Marshal.AllocHGlobal(3); + *(TypeQualifiers.Internal*) ret = native; + return ret.ToPointer(); + } + + private TypeQualifiers(TypeQualifiers.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypeQualifiers(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypeQualifiers(CppSharp.Parser.AST.TypeQualifiers _0) + { + __Instance = Marshal.AllocHGlobal(3); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((TypeQualifiers.Internal*) __Instance) = *((TypeQualifiers.Internal*) _0.__Instance); + } + + public TypeQualifiers() + { + __Instance = Marshal.AllocHGlobal(3); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public void Dispose() + { + Dispose(disposing: true); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.TypeQualifiers __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public bool IsConst + { + get + { + return ((Internal*) __Instance)->IsConst != 0; + } + + set + { + ((Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0); + } + } + + public bool IsVolatile + { + get + { + return ((Internal*) __Instance)->IsVolatile != 0; + } + + set + { + ((Internal*) __Instance)->IsVolatile = (byte) (value ? 1 : 0); + } + } + + public bool IsRestrict + { + get + { + return ((Internal*) __Instance)->IsRestrict != 0; + } + + set + { + ((Internal*) __Instance)->IsRestrict = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class QualifiedType : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct Internal + { + [FieldOffset(0)] + public global::System.IntPtr Type; + + [FieldOffset(8)] + public CppSharp.Parser.AST.TypeQualifiers.Internal Qualifiers; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13QualifiedTypeC2ERKS2_")] + 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; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, QualifiedType> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, QualifiedType>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static QualifiedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new QualifiedType(native.ToPointer(), skipVTables); + } + + public static QualifiedType __CreateInstance(QualifiedType.Internal native, bool skipVTables = false) + { + return new QualifiedType(native, skipVTables); + } + + private static void* __CopyValue(QualifiedType.Internal native) + { + var ret = Marshal.AllocHGlobal(16); + *(QualifiedType.Internal*) ret = native; + return ret.ToPointer(); + } + + private QualifiedType(QualifiedType.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected QualifiedType(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public QualifiedType() + { + __Instance = Marshal.AllocHGlobal(16); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public QualifiedType(CppSharp.Parser.AST.QualifiedType _0) + { + __Instance = Marshal.AllocHGlobal(16); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((QualifiedType.Internal*) __Instance) = *((QualifiedType.Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.QualifiedType __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.Type Type + { + get + { + CppSharp.Parser.AST.Type __result0; + if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type)) + __result0 = (CppSharp.Parser.AST.Type) CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type]; + else __result0 = CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type); + return __result0; + } + + set + { + ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.TypeQualifiers Qualifiers + { + get + { + return CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(((Internal*) __Instance)->Qualifiers); + } + + set + { + ((Internal*) __Instance)->Qualifiers = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.TypeQualifiers.Internal() : *(CppSharp.Parser.AST.TypeQualifiers.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class TagType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [FieldOffset(8)] + public global::System.IntPtr Declaration; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public static new TagType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TagType(native.ToPointer(), skipVTables); + } + + public static TagType __CreateInstance(TagType.Internal native, bool skipVTables = false) + { + return new TagType(native, skipVTables); + } + + private static void* __CopyValue(TagType.Internal native) + { + var ret = Marshal.AllocHGlobal(16); + CppSharp.Parser.AST.TagType.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TagType(TagType.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TagType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TagType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(16); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public TagType(CppSharp.Parser.AST.TagType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(16); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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 CppSharp.Parser.AST.Declaration Declaration + { + get + { + CppSharp.Parser.AST.Declaration __result0; + if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration)) + __result0 = (CppSharp.Parser.AST.Declaration) CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration]; + else __result0 = CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration); + return __result0; + } + + set + { + ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal QualifiedType; + + [FieldOffset(24)] + public CppSharp.Parser.AST.ArrayType.ArraySize SizeType; + + [FieldOffset(32)] + public long Size; + + [FieldOffset(40)] + public long ElementSize; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public enum ArraySize + { + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 + } + + public static new ArrayType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new ArrayType(native.ToPointer(), skipVTables); + } + + public static ArrayType __CreateInstance(ArrayType.Internal native, bool skipVTables = false) + { + return new ArrayType(native, skipVTables); + } + + private static void* __CopyValue(ArrayType.Internal native) + { + var ret = Marshal.AllocHGlobal(48); + CppSharp.Parser.AST.ArrayType.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ArrayType(ArrayType.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ArrayType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ArrayType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(48); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public ArrayType(CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(48); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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 CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType); + } + + set + { + ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.ArrayType.ArraySize SizeType + { + get + { + return ((Internal*) __Instance)->SizeType; + } + + set + { + ((Internal*) __Instance)->SizeType = value; + } + } + + public long Size + { + get + { + return ((Internal*) __Instance)->Size; + } + + set + { + ((Internal*) __Instance)->Size = value; + } + } + + public long ElementSize + { + get + { + return ((Internal*) __Instance)->ElementSize; + } + + set + { + ((Internal*) __Instance)->ElementSize = value; + } + } + } + + public unsafe partial class FunctionType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal ReturnType; + + [FieldOffset(24)] + public CppSharp.Parser.AST.CallingConvention CallingConvention; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv")] + internal static extern void clearParameters_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv")] + internal static extern uint getParametersCount_0(global::System.IntPtr instance); + } + + public static new FunctionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new FunctionType(native.ToPointer(), skipVTables); + } + + public static FunctionType __CreateInstance(FunctionType.Internal native, bool skipVTables = false) + { + return new FunctionType(native, skipVTables); + } + + private static void* __CopyValue(FunctionType.Internal native) + { + var ret = Marshal.AllocHGlobal(56); + CppSharp.Parser.AST.FunctionType.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private FunctionType(FunctionType.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FunctionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(56); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public FunctionType(CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(56); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.Parameter getParameters(uint i) + { + var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Parameter) CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; + } + + public void addParameters(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 uint ParametersCount + { + get + { + var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public CppSharp.Parser.AST.QualifiedType ReturnType + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ReturnType); + } + + set + { + ((Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + return ((Internal*) __Instance)->CallingConvention; + } + + set + { + ((Internal*) __Instance)->CallingConvention = value; + } + } + } + + public unsafe partial class PointerType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal QualifiedPointee; + + [FieldOffset(24)] + public CppSharp.Parser.AST.PointerType.TypeModifier Modifier; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public enum TypeModifier + { + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 + } + + public static new PointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new PointerType(native.ToPointer(), skipVTables); + } + + public static PointerType __CreateInstance(PointerType.Internal native, bool skipVTables = false) + { + return new PointerType(native, skipVTables); + } + + private static void* __CopyValue(PointerType.Internal native) + { + var ret = Marshal.AllocHGlobal(32); + CppSharp.Parser.AST.PointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private PointerType(PointerType.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected PointerType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public PointerType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(32); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public PointerType(CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(32); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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 CppSharp.Parser.AST.QualifiedType QualifiedPointee + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedPointee); + } + + set + { + ((Internal*) __Instance)->QualifiedPointee = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.PointerType.TypeModifier Modifier + { + get + { + return ((Internal*) __Instance)->Modifier; + } + + set + { + ((Internal*) __Instance)->Modifier = value; + } + } + } + + public unsafe partial class MemberPointerType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal Pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public static new MemberPointerType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new MemberPointerType(native.ToPointer(), skipVTables); + } + + public static MemberPointerType __CreateInstance(MemberPointerType.Internal native, bool skipVTables = false) + { + return new MemberPointerType(native, skipVTables); + } + + private static void* __CopyValue(MemberPointerType.Internal native) + { + var ret = Marshal.AllocHGlobal(24); + CppSharp.Parser.AST.MemberPointerType.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private MemberPointerType(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(24); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public MemberPointerType(CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(24); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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 CppSharp.Parser.AST.QualifiedType Pointee + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Pointee); + } + + set + { + ((Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class TypedefType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [FieldOffset(8)] + public global::System.IntPtr Declaration; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public static new TypedefType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TypedefType(native.ToPointer(), skipVTables); + } + + public static TypedefType __CreateInstance(TypedefType.Internal native, bool skipVTables = false) + { + return new TypedefType(native, skipVTables); + } + + private static void* __CopyValue(TypedefType.Internal native) + { + var ret = Marshal.AllocHGlobal(16); + CppSharp.Parser.AST.TypedefType.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TypedefType(TypedefType.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypedefType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypedefType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(16); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public TypedefType(CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(16); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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 CppSharp.Parser.AST.TypedefNameDecl Declaration + { + get + { + CppSharp.Parser.AST.TypedefNameDecl __result0; + if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration)) + __result0 = (CppSharp.Parser.AST.TypedefNameDecl) CppSharp.Parser.AST.TypedefNameDecl.NativeToManagedMap[((Internal*) __Instance)->Declaration]; + else __result0 = CppSharp.Parser.AST.TypedefNameDecl.__CreateInstance(((Internal*) __Instance)->Declaration); + return __result0; + } + + set + { + ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AttributedType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal Modified; + + [FieldOffset(24)] + public CppSharp.Parser.AST.QualifiedType.Internal Equivalent; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public static new AttributedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new AttributedType(native.ToPointer(), skipVTables); + } + + public static AttributedType __CreateInstance(AttributedType.Internal native, bool skipVTables = false) + { + return new AttributedType(native, skipVTables); + } + + private static void* __CopyValue(AttributedType.Internal native) + { + var ret = Marshal.AllocHGlobal(40); + CppSharp.Parser.AST.AttributedType.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AttributedType(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(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public AttributedType(CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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 CppSharp.Parser.AST.QualifiedType Modified + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Modified); + } + + set + { + ((Internal*) __Instance)->Modified = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Equivalent); + } + + set + { + ((Internal*) __Instance)->Equivalent = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class DecayedType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal Decayed; + + [FieldOffset(24)] + public CppSharp.Parser.AST.QualifiedType.Internal Original; + + [FieldOffset(40)] + public CppSharp.Parser.AST.QualifiedType.Internal Pointee; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public static new DecayedType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new DecayedType(native.ToPointer(), skipVTables); + } + + public static DecayedType __CreateInstance(DecayedType.Internal native, bool skipVTables = false) + { + return new DecayedType(native, skipVTables); + } + + private static void* __CopyValue(DecayedType.Internal native) + { + var ret = Marshal.AllocHGlobal(56); + CppSharp.Parser.AST.DecayedType.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DecayedType(DecayedType.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DecayedType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DecayedType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(56); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public DecayedType(CppSharp.Parser.AST.DecayedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(56); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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 CppSharp.Parser.AST.QualifiedType Decayed + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Decayed); + } + + set + { + ((Internal*) __Instance)->Decayed = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.QualifiedType Original + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Original); + } + + set + { + ((Internal*) __Instance)->Original = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.QualifiedType Pointee + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Pointee); + } + + set + { + ((Internal*) __Instance)->Pointee = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal Type; + + [FieldOffset(24)] + public global::System.IntPtr Declaration; + + [FieldOffset(32)] + public long Integral; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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 + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, TemplateArgument> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, TemplateArgument>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static TemplateArgument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TemplateArgument(native.ToPointer(), skipVTables); + } + + public static TemplateArgument __CreateInstance(TemplateArgument.Internal native, bool skipVTables = false) + { + return new TemplateArgument(native, skipVTables); + } + + private static void* __CopyValue(TemplateArgument.Internal native) + { + var ret = Marshal.AllocHGlobal(40); + *(TemplateArgument.Internal*) ret = native; + return ret.ToPointer(); + } + + private TemplateArgument(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(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public TemplateArgument(CppSharp.Parser.AST.TemplateArgument _0) + { + __Instance = Marshal.AllocHGlobal(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((TemplateArgument.Internal*) __Instance) = *((TemplateArgument.Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.TemplateArgument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind + { + get + { + return ((Internal*) __Instance)->Kind; + } + + set + { + ((Internal*) __Instance)->Kind = value; + } + } + + public CppSharp.Parser.AST.QualifiedType Type + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Type); + } + + set + { + ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.Declaration Declaration + { + get + { + CppSharp.Parser.AST.Declaration __result0; + if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration)) + __result0 = (CppSharp.Parser.AST.Declaration) CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration]; + else __result0 = CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration); + return __result0; + } + + set + { + ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public long Integral + { + get + { + return ((Internal*) __Instance)->Integral; + } + + set + { + ((Internal*) __Instance)->Integral = value; + } + } + } + + public unsafe partial class TemplateSpecializationType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [FieldOffset(32)] + public global::System.IntPtr Template; + + [FieldOffset(40)] + public global::System.IntPtr Desugared; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv")] + internal static extern void clearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv")] + internal static extern uint getArgumentsCount_0(global::System.IntPtr instance); + } + + public static new TemplateSpecializationType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TemplateSpecializationType(native.ToPointer(), skipVTables); + } + + public static TemplateSpecializationType __CreateInstance(TemplateSpecializationType.Internal native, bool skipVTables = false) + { + return new TemplateSpecializationType(native, skipVTables); + } + + private static void* __CopyValue(TemplateSpecializationType.Internal native) + { + var ret = Marshal.AllocHGlobal(48); + CppSharp.Parser.AST.TemplateSpecializationType.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TemplateSpecializationType(TemplateSpecializationType.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TemplateSpecializationType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(48); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public TemplateSpecializationType(CppSharp.Parser.AST.TemplateSpecializationType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(48); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.TemplateArgument getArguments(uint i) + { + var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal(); + Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void addArguments(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 uint ArgumentsCount + { + get + { + var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public CppSharp.Parser.AST.Template Template + { + get + { + CppSharp.Parser.AST.Template __result0; + if (((Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Template)) + __result0 = (CppSharp.Parser.AST.Template) CppSharp.Parser.AST.Template.NativeToManagedMap[((Internal*) __Instance)->Template]; + else __result0 = CppSharp.Parser.AST.Template.__CreateInstance(((Internal*) __Instance)->Template); + return __result0; + } + + set + { + ((Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.Type Desugared + { + get + { + CppSharp.Parser.AST.Type __result0; + if (((Internal*) __Instance)->Desugared == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Desugared)) + __result0 = (CppSharp.Parser.AST.Type) CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Desugared]; + else __result0 = CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Desugared); + return __result0; + } + + set + { + ((Internal*) __Instance)->Desugared = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class TemplateParameterType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [FieldOffset(8)] + 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="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new TemplateParameterType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TemplateParameterType(native.ToPointer(), skipVTables); + } + + public static TemplateParameterType __CreateInstance(TemplateParameterType.Internal native, bool skipVTables = false) + { + return new TemplateParameterType(native, skipVTables); + } + + private static void* __CopyValue(TemplateParameterType.Internal native) + { + var ret = Marshal.AllocHGlobal(32); + CppSharp.Parser.AST.TemplateParameterType.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TemplateParameterType(TemplateParameterType.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TemplateParameterType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TemplateParameterType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(32); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public TemplateParameterType(CppSharp.Parser.AST.TemplateParameterType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(32); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Type __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.TypeTemplateParameter Parameter + { + get + { + CppSharp.Parser.AST.TypeTemplateParameter __result0; + if (((Internal*) __Instance)->Parameter == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Parameter)) + __result0 = (CppSharp.Parser.AST.TypeTemplateParameter) CppSharp.Parser.AST.TypeTemplateParameter.NativeToManagedMap[((Internal*) __Instance)->Parameter]; + else __result0 = CppSharp.Parser.AST.TypeTemplateParameter.__CreateInstance(((Internal*) __Instance)->Parameter); + return __result0; + } + + set + { + ((Internal*) __Instance)->Parameter = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint Depth + { + get + { + return ((Internal*) __Instance)->Depth; + } + + set + { + ((Internal*) __Instance)->Depth = value; + } + } + + public uint Index + { + get + { + return ((Internal*) __Instance)->Index; + } + + set + { + ((Internal*) __Instance)->Index = value; + } + } + + public bool IsParameterPack + { + get + { + return ((Internal*) __Instance)->IsParameterPack != 0; + } + + set + { + ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class TemplateParameterSubstitutionType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.QualifiedType.Internal Replacement; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public static new TemplateParameterSubstitutionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + } + + public static TemplateParameterSubstitutionType __CreateInstance(TemplateParameterSubstitutionType.Internal native, bool skipVTables = false) + { + return new TemplateParameterSubstitutionType(native, skipVTables); + } + + private static void* __CopyValue(TemplateParameterSubstitutionType.Internal native) + { + var ret = Marshal.AllocHGlobal(24); + CppSharp.Parser.AST.TemplateParameterSubstitutionType.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TemplateParameterSubstitutionType(TemplateParameterSubstitutionType.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TemplateParameterSubstitutionType() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(24); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public TemplateParameterSubstitutionType(CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(24); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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 CppSharp.Parser.AST.QualifiedType Replacement + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->Replacement); + } + + set + { + ((Internal*) __Instance)->Replacement = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class InjectedClassNameType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [FieldOffset(8)] + public 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="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public static new InjectedClassNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new InjectedClassNameType(native.ToPointer(), skipVTables); + } + + public static InjectedClassNameType __CreateInstance(InjectedClassNameType.Internal native, bool skipVTables = false) + { + return new InjectedClassNameType(native, skipVTables); + } + + private static void* __CopyValue(InjectedClassNameType.Internal native) + { + var ret = Marshal.AllocHGlobal(32); + CppSharp.Parser.AST.InjectedClassNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private InjectedClassNameType(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(32); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public InjectedClassNameType(CppSharp.Parser.AST.InjectedClassNameType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(32); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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 CppSharp.Parser.AST.QualifiedType InjectedSpecializationType + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->InjectedSpecializationType); + } + + set + { + ((Internal*) __Instance)->InjectedSpecializationType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.Class Class + { + get + { + CppSharp.Parser.AST.Class __result0; + if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class)) + __result0 = (CppSharp.Parser.AST.Class) CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class]; + else __result0 = CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class); + return __result0; + } + + set + { + ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DependentNameType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public static new DependentNameType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new DependentNameType(native.ToPointer(), skipVTables); + } + + public static DependentNameType __CreateInstance(DependentNameType.Internal native, bool skipVTables = false) + { + return new DependentNameType(native, skipVTables); + } + + private static void* __CopyValue(DependentNameType.Internal native) + { + var ret = Marshal.AllocHGlobal(8); + CppSharp.Parser.AST.DependentNameType.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DependentNameType(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(8); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public DependentNameType(CppSharp.Parser.AST.DependentNameType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(8); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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 PackExpansionType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public static new PackExpansionType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new PackExpansionType(native.ToPointer(), skipVTables); + } + + public static PackExpansionType __CreateInstance(PackExpansionType.Internal native, bool skipVTables = false) + { + return new PackExpansionType(native, skipVTables); + } + + private static void* __CopyValue(PackExpansionType.Internal native) + { + var ret = Marshal.AllocHGlobal(8); + CppSharp.Parser.AST.PackExpansionType.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private PackExpansionType(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(8); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public PackExpansionType(CppSharp.Parser.AST.PackExpansionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(8); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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 BuiltinType : CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.TypeKind Kind; + + [FieldOffset(4)] + public byte IsDependent; + + [FieldOffset(8)] + public CppSharp.Parser.AST.PrimitiveType Type; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public static new BuiltinType __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new BuiltinType(native.ToPointer(), skipVTables); + } + + public static BuiltinType __CreateInstance(BuiltinType.Internal native, bool skipVTables = false) + { + return new BuiltinType(native, skipVTables); + } + + private static void* __CopyValue(BuiltinType.Internal native) + { + var ret = Marshal.AllocHGlobal(12); + CppSharp.Parser.AST.BuiltinType.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private BuiltinType(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(12); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public BuiltinType(CppSharp.Parser.AST.BuiltinType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(12); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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 CppSharp.Parser.AST.PrimitiveType Type + { + get + { + return ((Internal*) __Instance)->Type; + } + + set + { + ((Internal*) __Instance)->Type = value; + } + } + } + + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct Internal + { + [FieldOffset(0)] + public 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="_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, VTableComponent> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, VTableComponent>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static VTableComponent __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new VTableComponent(native.ToPointer(), skipVTables); + } + + public static VTableComponent __CreateInstance(VTableComponent.Internal native, bool skipVTables = false) + { + return new VTableComponent(native, skipVTables); + } + + private static void* __CopyValue(VTableComponent.Internal native) + { + var ret = Marshal.AllocHGlobal(16); + *(VTableComponent.Internal*) ret = native; + return ret.ToPointer(); + } + + private VTableComponent(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(16); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public VTableComponent(CppSharp.Parser.AST.VTableComponent _0) + { + __Instance = Marshal.AllocHGlobal(16); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((VTableComponent.Internal*) __Instance) = *((VTableComponent.Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.VTableComponent __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.VTableComponentKind Kind + { + get + { + return ((Internal*) __Instance)->Kind; + } + + set + { + ((Internal*) __Instance)->Kind = value; + } + } + + public uint Offset + { + get + { + return ((Internal*) __Instance)->Offset; + } + + set + { + ((Internal*) __Instance)->Offset = value; + } + } + + public CppSharp.Parser.AST.Declaration Declaration + { + get + { + CppSharp.Parser.AST.Declaration __result0; + if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration)) + __result0 = (CppSharp.Parser.AST.Declaration) CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration]; + else __result0 = CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration); + return __result0; + } + + set + { + ((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 + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj")] + internal static extern CppSharp.Parser.AST.VTableComponent.Internal getComponents_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv")] + internal static extern void clearComponents_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, VTableLayout> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, VTableLayout>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static VTableLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new VTableLayout(native.ToPointer(), skipVTables); + } + + public static VTableLayout __CreateInstance(VTableLayout.Internal native, bool skipVTables = false) + { + return new VTableLayout(native, skipVTables); + } + + private static void* __CopyValue(VTableLayout.Internal native) + { + var ret = Marshal.AllocHGlobal(24); + CppSharp.Parser.AST.VTableLayout.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private VTableLayout(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(24); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public VTableLayout(CppSharp.Parser.AST.VTableLayout _0) + { + __Instance = Marshal.AllocHGlobal(24); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.VTableLayout __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.VTableComponent getComponents(uint i) + { + var __ret = Internal.getComponents_0((__Instance + __PointerAdjustment), i); + return CppSharp.Parser.AST.VTableComponent.__CreateInstance(__ret); + } + + public void addComponents(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 + { + get + { + var __ret = Internal.getComponentsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class VFTableInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct Internal + { + [FieldOffset(0)] + public ulong VBTableIndex; + + [FieldOffset(8)] + public uint VFPtrOffset; + + [FieldOffset(12)] + public uint VFPtrFullOffset; + + [FieldOffset(16)] + public CppSharp.Parser.AST.VTableLayout.Internal Layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, VFTableInfo> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, VFTableInfo>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static VFTableInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new VFTableInfo(native.ToPointer(), skipVTables); + } + + public static VFTableInfo __CreateInstance(VFTableInfo.Internal native, bool skipVTables = false) + { + return new VFTableInfo(native, skipVTables); + } + + private static void* __CopyValue(VFTableInfo.Internal native) + { + var ret = Marshal.AllocHGlobal(40); + CppSharp.Parser.AST.VFTableInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private VFTableInfo(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(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public VFTableInfo(CppSharp.Parser.AST.VFTableInfo _0) + { + __Instance = Marshal.AllocHGlobal(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.VFTableInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public ulong VBTableIndex + { + get + { + return ((Internal*) __Instance)->VBTableIndex; + } + + set + { + ((Internal*) __Instance)->VBTableIndex = value; + } + } + + public uint VFPtrOffset + { + get + { + return ((Internal*) __Instance)->VFPtrOffset; + } + + set + { + ((Internal*) __Instance)->VFPtrOffset = value; + } + } + + public uint VFPtrFullOffset + { + get + { + return ((Internal*) __Instance)->VFPtrFullOffset; + } + + set + { + ((Internal*) __Instance)->VFPtrFullOffset = value; + } + } + + public CppSharp.Parser.AST.VTableLayout Layout + { + get + { + return CppSharp.Parser.AST.VTableLayout.__CreateInstance(((Internal*) __Instance)->Layout); + } + + set + { + ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.VTableLayout.Internal() : *(CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class LayoutField : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct Internal + { + [FieldOffset(0)] + public uint Offset; + + [FieldOffset(40)] + public CppSharp.Parser.AST.QualifiedType.Internal QualifiedType; + + [FieldOffset(56)] + public global::System.IntPtr FieldPtr; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr other); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7getNameEv")] + internal static extern global::System.IntPtr getName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11LayoutField7setNameEPKc")] + internal static extern void setName_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, LayoutField> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, LayoutField>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static LayoutField __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new LayoutField(native.ToPointer(), skipVTables); + } + + public static LayoutField __CreateInstance(LayoutField.Internal native, bool skipVTables = false) + { + return new LayoutField(native, skipVTables); + } + + private static void* __CopyValue(LayoutField.Internal native) + { + var ret = Marshal.AllocHGlobal(64); + CppSharp.Parser.AST.LayoutField.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private LayoutField(LayoutField.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected LayoutField(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LayoutField() + { + __Instance = Marshal.AllocHGlobal(64); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public LayoutField(CppSharp.Parser.AST.LayoutField other) + { + __Instance = Marshal.AllocHGlobal(64); + __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); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.LayoutField __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string Name + { + get + { + var __ret = Internal.getName_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setName_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public uint Offset + { + get + { + return ((Internal*) __Instance)->Offset; + } + + set + { + ((Internal*) __Instance)->Offset = value; + } + } + + public CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType); + } + + set + { + ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public global::System.IntPtr FieldPtr + { + get + { + return ((Internal*) __Instance)->FieldPtr; + } + + set + { + ((Internal*) __Instance)->FieldPtr = (global::System.IntPtr) 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="_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, LayoutBase> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, LayoutBase>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static LayoutBase __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new LayoutBase(native.ToPointer(), skipVTables); + } + + public static LayoutBase __CreateInstance(LayoutBase.Internal native, bool skipVTables = false) + { + return new LayoutBase(native, skipVTables); + } + + private static void* __CopyValue(LayoutBase.Internal native) + { + var ret = Marshal.AllocHGlobal(16); + CppSharp.Parser.AST.LayoutBase.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private LayoutBase(LayoutBase.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected LayoutBase(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public LayoutBase() + { + __Instance = Marshal.AllocHGlobal(16); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public LayoutBase(CppSharp.Parser.AST.LayoutBase other) + { + __Instance = Marshal.AllocHGlobal(16); + __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); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.LayoutBase __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public uint Offset + { + get + { + return ((Internal*) __Instance)->Offset; + } + + set + { + ((Internal*) __Instance)->Offset = value; + } + } + + public CppSharp.Parser.AST.Class Class + { + get + { + CppSharp.Parser.AST.Class __result0; + if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class)) + __result0 = (CppSharp.Parser.AST.Class) CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class]; + else __result0 = CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class); + return __result0; + } + + set + { + ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ClassLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CppAbi ABI; + + [FieldOffset(32)] + public 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; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv")] + internal static extern void clearVFTables_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv")] + internal static extern void clearFields_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv")] + internal static extern void clearBases_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv")] + internal static extern uint getVFTablesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv")] + internal static extern uint getFieldsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, ClassLayout> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, ClassLayout>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static ClassLayout __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new ClassLayout(native.ToPointer(), skipVTables); + } + + public static ClassLayout __CreateInstance(ClassLayout.Internal native, bool skipVTables = false) + { + return new ClassLayout(native, skipVTables); + } + + private static void* __CopyValue(ClassLayout.Internal native) + { + var ret = Marshal.AllocHGlobal(136); + CppSharp.Parser.AST.ClassLayout.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ClassLayout(ClassLayout.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ClassLayout(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ClassLayout() + { + __Instance = Marshal.AllocHGlobal(136); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public ClassLayout(CppSharp.Parser.AST.ClassLayout _0) + { + __Instance = Marshal.AllocHGlobal(136); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.ClassLayout __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.VFTableInfo getVFTables(uint i) + { + var __ret = new CppSharp.Parser.AST.VFTableInfo.Internal(); + Internal.getVFTables_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return CppSharp.Parser.AST.VFTableInfo.__CreateInstance(__ret); + } + + public void addVFTables(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 CppSharp.Parser.AST.LayoutField getFields(uint i) + { + var __ret = new CppSharp.Parser.AST.LayoutField.Internal(); + Internal.getFields_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return CppSharp.Parser.AST.LayoutField.__CreateInstance(__ret); + } + + public void addFields(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 CppSharp.Parser.AST.LayoutBase getBases(uint i) + { + var __ret = new CppSharp.Parser.AST.LayoutBase.Internal(); + Internal.getBases_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return CppSharp.Parser.AST.LayoutBase.__CreateInstance(__ret); + } + + public void addBases(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 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; + } + } + + public CppSharp.Parser.AST.CppAbi ABI + { + get + { + return ((Internal*) __Instance)->ABI; + } + + set + { + ((Internal*) __Instance)->ABI = value; + } + } + + public CppSharp.Parser.AST.VTableLayout Layout + { + get + { + return CppSharp.Parser.AST.VTableLayout.__CreateInstance(((Internal*) __Instance)->Layout); + } + + set + { + ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.VTableLayout.Internal() : *(CppSharp.Parser.AST.VTableLayout.Internal*) (value.__Instance); + } + } + + public bool HasOwnVFPtr + { + get + { + return ((Internal*) __Instance)->HasOwnVFPtr != 0; + } + + set + { + ((Internal*) __Instance)->HasOwnVFPtr = (byte) (value ? 1 : 0); + } + } + + public long VBPtrOffset + { + get + { + return ((Internal*) __Instance)->VBPtrOffset; + } + + set + { + ((Internal*) __Instance)->VBPtrOffset = value; + } + } + + public int Alignment + { + get + { + return ((Internal*) __Instance)->Alignment; + } + + set + { + ((Internal*) __Instance)->Alignment = value; + } + } + + public int Size + { + get + { + return ((Internal*) __Instance)->Size; + } + + set + { + ((Internal*) __Instance)->Size = value; + } + } + + public int DataSize + { + get + { + return ((Internal*) __Instance)->DataSize; + } + + set + { + ((Internal*) __Instance)->DataSize = value; + } + } + } + + public unsafe partial class Declaration : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 192)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11DeclarationD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj")] + 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="_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE")] + 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="_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv")] + internal static extern void clearPreprocessedEntities_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7getNameEv")] + internal static extern global::System.IntPtr getName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc")] + internal static extern void setName_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6getUSREv")] + internal static extern global::System.IntPtr getUSR_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration6setUSREPKc")] + internal static extern void setUSR_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv")] + internal static extern global::System.IntPtr getDebugText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc")] + internal static extern void setDebugText_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv")] + internal static extern uint getPreprocessedEntitiesCount_0(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, Declaration> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, Declaration>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static Declaration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Declaration(native.ToPointer(), skipVTables); + } + + public static Declaration __CreateInstance(Declaration.Internal native, bool skipVTables = false) + { + return new Declaration(native, skipVTables); + } + + private static void* __CopyValue(Declaration.Internal native) + { + var ret = Marshal.AllocHGlobal(192); + CppSharp.Parser.AST.Declaration.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Declaration(Declaration.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Declaration(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Declaration(CppSharp.Parser.AST.DeclarationKind kind) + { + __Instance = Marshal.AllocHGlobal(192); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __arg0 = kind; + Internal.ctor_0((__Instance + __PointerAdjustment), __arg0); + } + + public Declaration(CppSharp.Parser.AST.Declaration _0) + { + __Instance = Marshal.AllocHGlobal(192); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.PreprocessedEntity getPreprocessedEntities(uint i) + { + var __ret = Internal.getPreprocessedEntities_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.PreprocessedEntity __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.PreprocessedEntity) CppSharp.Parser.AST.PreprocessedEntity.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.PreprocessedEntity.__CreateInstance(__ret); + return __result0; + } + + public void addPreprocessedEntities(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 string Name + { + get + { + var __ret = Internal.getName_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setName_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public string USR + { + get + { + var __ret = Internal.getUSR_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setUSR_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public string DebugText + { + get + { + var __ret = Internal.getDebugText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setDebugText_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public uint PreprocessedEntitiesCount + { + get + { + var __ret = Internal.getPreprocessedEntitiesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public CppSharp.Parser.AST.DeclarationKind Kind + { + get + { + return ((Internal*) __Instance)->Kind; + } + + set + { + ((Internal*) __Instance)->Kind = value; + } + } + + public CppSharp.Parser.AST.AccessSpecifier Access + { + get + { + return ((Internal*) __Instance)->Access; + } + + set + { + ((Internal*) __Instance)->Access = value; + } + } + + public CppSharp.Parser.AST.DeclarationContext _Namespace + { + get + { + CppSharp.Parser.AST.DeclarationContext __result0; + if (((Internal*) __Instance)->_Namespace == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->_Namespace)) + __result0 = (CppSharp.Parser.AST.DeclarationContext) CppSharp.Parser.AST.DeclarationContext.NativeToManagedMap[((Internal*) __Instance)->_Namespace]; + else __result0 = CppSharp.Parser.AST.DeclarationContext.__CreateInstance(((Internal*) __Instance)->_Namespace); + return __result0; + } + + set + { + ((Internal*) __Instance)->_Namespace = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.SourceLocation Location + { + get + { + return CppSharp.Parser.SourceLocation.__CreateInstance(((Internal*) __Instance)->Location); + } + + set + { + ((Internal*) __Instance)->Location = value.__Instance; + } + } + + public int LineNumberStart + { + get + { + return ((Internal*) __Instance)->LineNumberStart; + } + + set + { + ((Internal*) __Instance)->LineNumberStart = value; + } + } + + public int LineNumberEnd + { + get + { + return ((Internal*) __Instance)->LineNumberEnd; + } + + set + { + ((Internal*) __Instance)->LineNumberEnd = value; + } + } + + public bool IsIncomplete + { + get + { + return ((Internal*) __Instance)->IsIncomplete != 0; + } + + set + { + ((Internal*) __Instance)->IsIncomplete = (byte) (value ? 1 : 0); + } + } + + public bool IsDependent + { + get + { + return ((Internal*) __Instance)->IsDependent != 0; + } + + set + { + ((Internal*) __Instance)->IsDependent = (byte) (value ? 1 : 0); + } + } + + public bool IsImplicit + { + get + { + return ((Internal*) __Instance)->IsImplicit != 0; + } + + set + { + ((Internal*) __Instance)->IsImplicit = (byte) (value ? 1 : 0); + } + } + + public CppSharp.Parser.AST.Declaration CompleteDeclaration + { + get + { + CppSharp.Parser.AST.Declaration __result0; + if (((Internal*) __Instance)->CompleteDeclaration == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->CompleteDeclaration)) + __result0 = (CppSharp.Parser.AST.Declaration) CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->CompleteDeclaration]; + else __result0 = CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->CompleteDeclaration); + return __result0; + } + + set + { + ((Internal*) __Instance)->CompleteDeclaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint DefinitionOrder + { + get + { + return ((Internal*) __Instance)->DefinitionOrder; + } + + set + { + ((Internal*) __Instance)->DefinitionOrder = value; + } + } + + public global::System.IntPtr OriginalPtr + { + get + { + return ((Internal*) __Instance)->OriginalPtr; + } + + set + { + ((Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value; + } + } + + public CppSharp.Parser.AST.RawComment Comment + { + get + { + CppSharp.Parser.AST.RawComment __result0; + if (((Internal*) __Instance)->Comment == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.RawComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Comment)) + __result0 = (CppSharp.Parser.AST.RawComment) CppSharp.Parser.AST.RawComment.NativeToManagedMap[((Internal*) __Instance)->Comment]; + else __result0 = CppSharp.Parser.AST.RawComment.__CreateInstance(((Internal*) __Instance)->Comment); + return __result0; + } + + set + { + ((Internal*) __Instance)->Comment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DeclarationContext : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 464)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(456)] + public byte IsAnonymous; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv")] + internal static extern void clearNamespaces_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv")] + internal static extern void clearEnums_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv")] + internal static extern void clearFunctions_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv")] + internal static extern void clearClasses_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv")] + internal static extern void clearTemplates_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv")] + internal static extern void clearTypedefs_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv")] + internal static extern void clearTypeAliases_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv")] + internal static extern void clearVariables_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE")] + 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.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv")] + internal static extern void clearFriends_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv")] + internal static extern uint getNamespacesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv")] + internal static extern uint getEnumsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv")] + internal static extern uint getFunctionsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv")] + internal static extern uint getClassesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv")] + internal static extern uint getTemplatesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv")] + internal static extern uint getTypedefsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv")] + internal static extern uint getTypeAliasesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv")] + internal static extern uint getVariablesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv")] + internal static extern uint getFriendsCount_0(global::System.IntPtr instance); + } + + public static new DeclarationContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new DeclarationContext(native.ToPointer(), skipVTables); + } + + public static DeclarationContext __CreateInstance(DeclarationContext.Internal native, bool skipVTables = false) + { + return new DeclarationContext(native, skipVTables); + } + + private static void* __CopyValue(DeclarationContext.Internal native) + { + var ret = Marshal.AllocHGlobal(464); + CppSharp.Parser.AST.DeclarationContext.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private DeclarationContext(DeclarationContext.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected DeclarationContext(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public DeclarationContext(CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(464); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __arg0 = kind; + Internal.ctor_0((__Instance + __PointerAdjustment), __arg0); + } + + public DeclarationContext(CppSharp.Parser.AST.DeclarationContext _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(464); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.Namespace getNamespaces(uint i) + { + var __ret = Internal.getNamespaces_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Namespace __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Namespace.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Namespace) CppSharp.Parser.AST.Namespace.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Namespace.__CreateInstance(__ret); + return __result0; + } + + public void addNamespaces(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.addNamespaces_0((__Instance + __PointerAdjustment), __arg0); + } + + public void clearNamespaces() + { + Internal.clearNamespaces_0((__Instance + __PointerAdjustment)); + } + + public CppSharp.Parser.AST.Enumeration getEnums(uint i) + { + var __ret = Internal.getEnums_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Enumeration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Enumeration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Enumeration) CppSharp.Parser.AST.Enumeration.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Enumeration.__CreateInstance(__ret); + return __result0; + } + + public void addEnums(CppSharp.Parser.AST.Enumeration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + Internal.addEnums_0((__Instance + __PointerAdjustment), __arg0); + } + + public void clearEnums() + { + Internal.clearEnums_0((__Instance + __PointerAdjustment)); + } + + public CppSharp.Parser.AST.Function getFunctions(uint i) + { + var __ret = Internal.getFunctions_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Function __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Function) CppSharp.Parser.AST.Function.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Function.__CreateInstance(__ret); + return __result0; + } + + public void addFunctions(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); + } + + public void clearFunctions() + { + Internal.clearFunctions_0((__Instance + __PointerAdjustment)); + } + + public CppSharp.Parser.AST.Class getClasses(uint i) + { + var __ret = Internal.getClasses_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Class __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Class) CppSharp.Parser.AST.Class.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Class.__CreateInstance(__ret); + return __result0; + } + + public void addClasses(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 void clearClasses() + { + Internal.clearClasses_0((__Instance + __PointerAdjustment)); + } + + public CppSharp.Parser.AST.Template getTemplates(uint i) + { + var __ret = Internal.getTemplates_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Template __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Template.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Template) CppSharp.Parser.AST.Template.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Template.__CreateInstance(__ret); + return __result0; + } + + public void addTemplates(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); + } + + public void clearTemplates() + { + Internal.clearTemplates_0((__Instance + __PointerAdjustment)); + } + + public CppSharp.Parser.AST.TypedefDecl getTypedefs(uint i) + { + var __ret = Internal.getTypedefs_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.TypedefDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.TypedefDecl) CppSharp.Parser.AST.TypedefDecl.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.TypedefDecl.__CreateInstance(__ret); + return __result0; + } + + public void addTypedefs(CppSharp.Parser.AST.TypedefDecl s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + Internal.addTypedefs_0((__Instance + __PointerAdjustment), __arg0); + } + + public void clearTypedefs() + { + Internal.clearTypedefs_0((__Instance + __PointerAdjustment)); + } + + public CppSharp.Parser.AST.TypeAlias getTypeAliases(uint i) + { + var __ret = Internal.getTypeAliases_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.TypeAlias __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.TypeAlias.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.TypeAlias) CppSharp.Parser.AST.TypeAlias.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.TypeAlias.__CreateInstance(__ret); + return __result0; + } + + public void addTypeAliases(CppSharp.Parser.AST.TypeAlias s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + Internal.addTypeAliases_0((__Instance + __PointerAdjustment), __arg0); + } + + public void clearTypeAliases() + { + Internal.clearTypeAliases_0((__Instance + __PointerAdjustment)); + } + + public CppSharp.Parser.AST.Variable getVariables(uint i) + { + var __ret = Internal.getVariables_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Variable __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Variable.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Variable) CppSharp.Parser.AST.Variable.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Variable.__CreateInstance(__ret); + return __result0; + } + + public void addVariables(CppSharp.Parser.AST.Variable s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + Internal.addVariables_0((__Instance + __PointerAdjustment), __arg0); + } + + public void clearVariables() + { + Internal.clearVariables_0((__Instance + __PointerAdjustment)); + } + + public CppSharp.Parser.AST.Friend getFriends(uint i) + { + var __ret = Internal.getFriends_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Friend __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Friend.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Friend) CppSharp.Parser.AST.Friend.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Friend.__CreateInstance(__ret); + return __result0; + } + + public void addFriends(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 uint NamespacesCount + { + get + { + var __ret = Internal.getNamespacesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint EnumsCount + { + get + { + var __ret = Internal.getEnumsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint FunctionsCount + { + get + { + var __ret = Internal.getFunctionsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint ClassesCount + { + get + { + var __ret = Internal.getClassesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint TemplatesCount + { + get + { + var __ret = Internal.getTemplatesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint TypedefsCount + { + get + { + 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 bool IsAnonymous + { + get + { + return ((Internal*) __Instance)->IsAnonymous != 0; + } + + set + { + ((Internal*) __Instance)->IsAnonymous = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class TypedefNameDecl : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 208)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(192)] + public CppSharp.Parser.AST.QualifiedType.Internal QualifiedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new TypedefNameDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TypedefNameDecl(native.ToPointer(), skipVTables); + } + + public static TypedefNameDecl __CreateInstance(TypedefNameDecl.Internal native, bool skipVTables = false) + { + return new TypedefNameDecl(native, skipVTables); + } + + private static void* __CopyValue(TypedefNameDecl.Internal native) + { + var ret = Marshal.AllocHGlobal(208); + CppSharp.Parser.AST.TypedefNameDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TypedefNameDecl(TypedefNameDecl.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypedefNameDecl(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypedefNameDecl(CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(208); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __arg0 = kind; + Internal.ctor_0((__Instance + __PointerAdjustment), __arg0); + } + + public TypedefNameDecl(CppSharp.Parser.AST.TypedefNameDecl _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(208); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType); + } + + set + { + ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class TypedefDecl : CppSharp.Parser.AST.TypedefNameDecl, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 208)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(192)] + public CppSharp.Parser.AST.QualifiedType.Internal QualifiedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new TypedefDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TypedefDecl(native.ToPointer(), skipVTables); + } + + public static TypedefDecl __CreateInstance(TypedefDecl.Internal native, bool skipVTables = false) + { + return new TypedefDecl(native, skipVTables); + } + + private static void* __CopyValue(TypedefDecl.Internal native) + { + var ret = Marshal.AllocHGlobal(208); + CppSharp.Parser.AST.TypedefDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TypedefDecl(TypedefDecl.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypedefDecl(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypedefDecl() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(208); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public TypedefDecl(CppSharp.Parser.AST.TypedefDecl _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(208); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + } + + public unsafe partial class TypeAlias : CppSharp.Parser.AST.TypedefNameDecl, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 216)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(192)] + public CppSharp.Parser.AST.QualifiedType.Internal QualifiedType; + + [FieldOffset(208)] + public global::System.IntPtr DescribedAliasTemplate; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new TypeAlias __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TypeAlias(native.ToPointer(), skipVTables); + } + + public static TypeAlias __CreateInstance(TypeAlias.Internal native, bool skipVTables = false) + { + return new TypeAlias(native, skipVTables); + } + + private static void* __CopyValue(TypeAlias.Internal native) + { + var ret = Marshal.AllocHGlobal(216); + CppSharp.Parser.AST.TypeAlias.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TypeAlias(TypeAlias.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypeAlias() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(216); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public TypeAlias(CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(216); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + { + get + { + CppSharp.Parser.AST.TypeAliasTemplate __result0; + if (((Internal*) __Instance)->DescribedAliasTemplate == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DescribedAliasTemplate)) + __result0 = (CppSharp.Parser.AST.TypeAliasTemplate) CppSharp.Parser.AST.TypeAliasTemplate.NativeToManagedMap[((Internal*) __Instance)->DescribedAliasTemplate]; + else __result0 = CppSharp.Parser.AST.TypeAliasTemplate.__CreateInstance(((Internal*) __Instance)->DescribedAliasTemplate); + return __result0; + } + + set + { + ((Internal*) __Instance)->DescribedAliasTemplate = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Friend : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 200)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(192)] + public global::System.IntPtr Declaration; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6FriendD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new Friend __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Friend(native.ToPointer(), skipVTables); + } + + public static Friend __CreateInstance(Friend.Internal native, bool skipVTables = false) + { + return new Friend(native, skipVTables); + } + + private static void* __CopyValue(Friend.Internal native) + { + var ret = Marshal.AllocHGlobal(200); + CppSharp.Parser.AST.Friend.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Friend(Friend.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Friend(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Friend() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(200); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Friend(CppSharp.Parser.AST.Friend _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(200); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.Declaration Declaration + { + get + { + CppSharp.Parser.AST.Declaration __result0; + if (((Internal*) __Instance)->Declaration == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Declaration)) + __result0 = (CppSharp.Parser.AST.Declaration) CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Declaration]; + else __result0 = CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Declaration); + return __result0; + } + + set + { + ((Internal*) __Instance)->Declaration = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Statement : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.StatementClass Class; + + [FieldOffset(8)] + public global::System.IntPtr Decl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9StatementD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9getStringEv")] + internal static extern global::System.IntPtr getString_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9Statement9setStringEPKc")] + internal static extern void setString_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, Statement> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, Statement>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static Statement __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Statement(native.ToPointer(), skipVTables); + } + + public static Statement __CreateInstance(Statement.Internal native, bool skipVTables = false) + { + return new Statement(native, skipVTables); + } + + private static void* __CopyValue(Statement.Internal native) + { + var ret = Marshal.AllocHGlobal(48); + CppSharp.Parser.AST.Statement.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Statement(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(CppSharp.Parser.AST.Statement _0) + { + __Instance = Marshal.AllocHGlobal(48); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string String + { + get + { + var __ret = Internal.getString_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setString_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public CppSharp.Parser.AST.StatementClass Class + { + get + { + return ((Internal*) __Instance)->Class; + } + + set + { + ((Internal*) __Instance)->Class = value; + } + } + + public CppSharp.Parser.AST.Declaration Decl + { + get + { + CppSharp.Parser.AST.Declaration __result0; + if (((Internal*) __Instance)->Decl == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Decl)) + __result0 = (CppSharp.Parser.AST.Declaration) CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->Decl]; + else __result0 = CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->Decl); + return __result0; + } + + set + { + ((Internal*) __Instance)->Decl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Expression : CppSharp.Parser.AST.Statement, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.StatementClass Class; + + [FieldOffset(8)] + public global::System.IntPtr Decl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ExpressionD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new Expression __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Expression(native.ToPointer(), skipVTables); + } + + public static Expression __CreateInstance(Expression.Internal native, bool skipVTables = false) + { + return new Expression(native, skipVTables); + } + + private static void* __CopyValue(Expression.Internal native) + { + var ret = Marshal.AllocHGlobal(48); + CppSharp.Parser.AST.Expression.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Expression(Expression.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Expression(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Expression(CppSharp.Parser.AST.Expression _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(48); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + } + + public unsafe partial class BinaryOperator : CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.StatementClass Class; + + [FieldOffset(8)] + public global::System.IntPtr Decl; + + [FieldOffset(48)] + public global::System.IntPtr LHS; + + [FieldOffset(56)] + public global::System.IntPtr RHS; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12getOpcodeStrEv")] + internal static extern global::System.IntPtr getOpcodeStr_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14BinaryOperator12setOpcodeStrEPKc")] + internal static extern void setOpcodeStr_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public static new BinaryOperator __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new BinaryOperator(native.ToPointer(), skipVTables); + } + + public static BinaryOperator __CreateInstance(BinaryOperator.Internal native, bool skipVTables = false) + { + return new BinaryOperator(native, skipVTables); + } + + private static void* __CopyValue(BinaryOperator.Internal native) + { + var ret = Marshal.AllocHGlobal(96); + CppSharp.Parser.AST.BinaryOperator.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private BinaryOperator(BinaryOperator.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BinaryOperator(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BinaryOperator(CppSharp.Parser.AST.BinaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(96); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string OpcodeStr + { + get + { + var __ret = Internal.getOpcodeStr_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setOpcodeStr_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public CppSharp.Parser.AST.Expression LHS + { + get + { + CppSharp.Parser.AST.Expression __result0; + if (((Internal*) __Instance)->LHS == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->LHS)) + __result0 = (CppSharp.Parser.AST.Expression) CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->LHS]; + else __result0 = CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->LHS); + return __result0; + } + + set + { + ((Internal*) __Instance)->LHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.Expression RHS + { + get + { + CppSharp.Parser.AST.Expression __result0; + if (((Internal*) __Instance)->RHS == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->RHS)) + __result0 = (CppSharp.Parser.AST.Expression) CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->RHS]; + else __result0 = CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->RHS); + return __result0; + } + + set + { + ((Internal*) __Instance)->RHS = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CallExpr : CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.StatementClass Class; + + [FieldOffset(8)] + public global::System.IntPtr Decl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExprD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr12getArgumentsEj")] + 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="_ZN8CppSharp9CppParser3AST8CallExpr12addArgumentsERPNS1_10ExpressionE")] + 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="_ZN8CppSharp9CppParser3AST8CallExpr14clearArgumentsEv")] + internal static extern void clearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8CallExpr17getArgumentsCountEv")] + internal static extern uint getArgumentsCount_0(global::System.IntPtr instance); + } + + public static new CallExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new CallExpr(native.ToPointer(), skipVTables); + } + + public static CallExpr __CreateInstance(CallExpr.Internal native, bool skipVTables = false) + { + return new CallExpr(native, skipVTables); + } + + private static void* __CopyValue(CallExpr.Internal native) + { + var ret = Marshal.AllocHGlobal(72); + CppSharp.Parser.AST.CallExpr.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CallExpr(CallExpr.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CallExpr(CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(72); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.Expression getArguments(uint i) + { + var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Expression __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Expression) CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + return __result0; + } + + public void addArguments(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 CXXConstructExpr : CppSharp.Parser.AST.Expression, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.StatementClass Class; + + [FieldOffset(8)] + public global::System.IntPtr Decl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addArgumentsERPNS1_10ExpressionE")] + 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="_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearArgumentsEv")] + internal static extern void clearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getArgumentsCountEv")] + internal static extern uint getArgumentsCount_0(global::System.IntPtr instance); + } + + public static new CXXConstructExpr __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new CXXConstructExpr(native.ToPointer(), skipVTables); + } + + public static CXXConstructExpr __CreateInstance(CXXConstructExpr.Internal native, bool skipVTables = false) + { + return new CXXConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(CXXConstructExpr.Internal native) + { + var ret = Marshal.AllocHGlobal(72); + CppSharp.Parser.AST.CXXConstructExpr.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXConstructExpr(CXXConstructExpr.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected CXXConstructExpr(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public CXXConstructExpr(CppSharp.Parser.AST.CXXConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(72); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Statement __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.Expression getArguments(uint i) + { + var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Expression __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Expression) CppSharp.Parser.AST.Expression.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Expression.__CreateInstance(__ret); + return __result0; + } + + public void addArguments(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 Parameter : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 224)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(192)] + public 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; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9ParameterD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new Parameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Parameter(native.ToPointer(), skipVTables); + } + + public static Parameter __CreateInstance(Parameter.Internal native, bool skipVTables = false) + { + return new Parameter(native, skipVTables); + } + + private static void* __CopyValue(Parameter.Internal native) + { + var ret = Marshal.AllocHGlobal(224); + CppSharp.Parser.AST.Parameter.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Parameter(Parameter.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Parameter(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Parameter() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(224); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Parameter(CppSharp.Parser.AST.Parameter _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(224); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType); + } + + set + { + ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public bool IsIndirect + { + get + { + return ((Internal*) __Instance)->IsIndirect != 0; + } + + set + { + ((Internal*) __Instance)->IsIndirect = (byte) (value ? 1 : 0); + } + } + + public bool HasDefaultValue + { + get + { + return ((Internal*) __Instance)->HasDefaultValue != 0; + } + + set + { + ((Internal*) __Instance)->HasDefaultValue = (byte) (value ? 1 : 0); + } + } + + public uint Index + { + get + { + return ((Internal*) __Instance)->Index; + } + + set + { + ((Internal*) __Instance)->Index = value; + } + } + + public CppSharp.Parser.AST.Expression DefaultArgument + { + get + { + CppSharp.Parser.AST.Expression __result0; + if (((Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DefaultArgument)) + __result0 = (CppSharp.Parser.AST.Expression) CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->DefaultArgument]; + else __result0 = CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->DefaultArgument); + return __result0; + } + + set + { + ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Function : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 336)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(192)] + public CppSharp.Parser.AST.QualifiedType.Internal ReturnType; + + [FieldOffset(208)] + public byte IsReturnIndirect; + + [FieldOffset(209)] + public byte HasThisReturn; + + [FieldOffset(210)] + public byte IsVariadic; + + [FieldOffset(211)] + public byte IsInline; + + [FieldOffset(212)] + public byte IsPure; + + [FieldOffset(213)] + public byte IsDeleted; + + [FieldOffset(216)] + public CppSharp.Parser.AST.CXXOperatorKind OperatorKind; + + [FieldOffset(288)] + public CppSharp.Parser.AST.CallingConvention CallingConvention; + + [FieldOffset(320)] + public global::System.IntPtr SpecializationInfo; + + [FieldOffset(328)] + public global::System.IntPtr InstantiatedFrom; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8FunctionD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function15clearParametersEv")] + internal static extern void clearParameters_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function10getMangledEv")] + internal static extern global::System.IntPtr getMangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc")] + internal static extern void setMangled_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function12getSignatureEv")] + internal static extern global::System.IntPtr getSignature_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc")] + internal static extern void setSignature_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv")] + internal static extern uint getParametersCount_0(global::System.IntPtr instance); + } + + public static new Function __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Function(native.ToPointer(), skipVTables); + } + + public static Function __CreateInstance(Function.Internal native, bool skipVTables = false) + { + return new Function(native, skipVTables); + } + + private static void* __CopyValue(Function.Internal native) + { + var ret = Marshal.AllocHGlobal(336); + CppSharp.Parser.AST.Function.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Function(Function.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Function(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Function() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(336); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Function(CppSharp.Parser.AST.Function _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(336); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.Parameter getParameters(uint i) + { + var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Parameter __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Parameter.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Parameter) CppSharp.Parser.AST.Parameter.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Parameter.__CreateInstance(__ret); + return __result0; + } + + public void addParameters(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 string Mangled + { + get + { + var __ret = Internal.getMangled_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public string Signature + { + get + { + var __ret = Internal.getSignature_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setSignature_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public uint ParametersCount + { + get + { + var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public CppSharp.Parser.AST.QualifiedType ReturnType + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ReturnType); + } + + set + { + ((Internal*) __Instance)->ReturnType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public bool IsReturnIndirect + { + get + { + return ((Internal*) __Instance)->IsReturnIndirect != 0; + } + + set + { + ((Internal*) __Instance)->IsReturnIndirect = (byte) (value ? 1 : 0); + } + } + + public bool HasThisReturn + { + get + { + return ((Internal*) __Instance)->HasThisReturn != 0; + } + + set + { + ((Internal*) __Instance)->HasThisReturn = (byte) (value ? 1 : 0); + } + } + + public bool IsVariadic + { + get + { + return ((Internal*) __Instance)->IsVariadic != 0; + } + + set + { + ((Internal*) __Instance)->IsVariadic = (byte) (value ? 1 : 0); + } + } + + public bool IsInline + { + get + { + return ((Internal*) __Instance)->IsInline != 0; + } + + set + { + ((Internal*) __Instance)->IsInline = (byte) (value ? 1 : 0); + } + } + + public bool IsPure + { + get + { + return ((Internal*) __Instance)->IsPure != 0; + } + + set + { + ((Internal*) __Instance)->IsPure = (byte) (value ? 1 : 0); + } + } + + public bool IsDeleted + { + get + { + return ((Internal*) __Instance)->IsDeleted != 0; + } + + set + { + ((Internal*) __Instance)->IsDeleted = (byte) (value ? 1 : 0); + } + } + + public CppSharp.Parser.AST.CXXOperatorKind OperatorKind + { + get + { + return ((Internal*) __Instance)->OperatorKind; + } + + set + { + ((Internal*) __Instance)->OperatorKind = value; + } + } + + public CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + return ((Internal*) __Instance)->CallingConvention; + } + + set + { + ((Internal*) __Instance)->CallingConvention = value; + } + } + + public CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (((Internal*) __Instance)->SpecializationInfo == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->SpecializationInfo)) + __result0 = (CppSharp.Parser.AST.FunctionTemplateSpecialization) CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[((Internal*) __Instance)->SpecializationInfo]; + else __result0 = CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(((Internal*) __Instance)->SpecializationInfo); + return __result0; + } + + set + { + ((Internal*) __Instance)->SpecializationInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + CppSharp.Parser.AST.Function __result0; + if (((Internal*) __Instance)->InstantiatedFrom == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->InstantiatedFrom)) + __result0 = (CppSharp.Parser.AST.Function) CppSharp.Parser.AST.Function.NativeToManagedMap[((Internal*) __Instance)->InstantiatedFrom]; + else __result0 = CppSharp.Parser.AST.Function.__CreateInstance(((Internal*) __Instance)->InstantiatedFrom); + return __result0; + } + + set + { + ((Internal*) __Instance)->InstantiatedFrom = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Method : CppSharp.Parser.AST.Function, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 368)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(192)] + public CppSharp.Parser.AST.QualifiedType.Internal ReturnType; + + [FieldOffset(208)] + public byte IsReturnIndirect; + + [FieldOffset(209)] + public byte HasThisReturn; + + [FieldOffset(210)] + public byte IsVariadic; + + [FieldOffset(211)] + public byte IsInline; + + [FieldOffset(212)] + public byte IsPure; + + [FieldOffset(213)] + public byte IsDeleted; + + [FieldOffset(216)] + public CppSharp.Parser.AST.CXXOperatorKind OperatorKind; + + [FieldOffset(288)] + public CppSharp.Parser.AST.CallingConvention CallingConvention; + + [FieldOffset(320)] + public global::System.IntPtr SpecializationInfo; + + [FieldOffset(328)] + public global::System.IntPtr InstantiatedFrom; + + [FieldOffset(336)] + public byte IsVirtual; + + [FieldOffset(337)] + public byte IsStatic; + + [FieldOffset(338)] + public byte IsConst; + + [FieldOffset(339)] + public byte IsExplicit; + + [FieldOffset(340)] + public byte IsOverride; + + [FieldOffset(344)] + public CppSharp.Parser.AST.CXXMethodKind MethodKind; + + [FieldOffset(348)] + public byte IsDefaultConstructor; + + [FieldOffset(349)] + public byte IsCopyConstructor; + + [FieldOffset(350)] + public byte IsMoveConstructor; + + [FieldOffset(352)] + public CppSharp.Parser.AST.QualifiedType.Internal ConversionType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST6MethodD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new Method __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Method(native.ToPointer(), skipVTables); + } + + public static Method __CreateInstance(Method.Internal native, bool skipVTables = false) + { + return new Method(native, skipVTables); + } + + private static void* __CopyValue(Method.Internal native) + { + var ret = Marshal.AllocHGlobal(368); + CppSharp.Parser.AST.Method.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Method(Method.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Method(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Method() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(368); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Method(CppSharp.Parser.AST.Method _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(368); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public bool IsVirtual + { + get + { + return ((Internal*) __Instance)->IsVirtual != 0; + } + + set + { + ((Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0); + } + } + + public bool IsStatic + { + get + { + return ((Internal*) __Instance)->IsStatic != 0; + } + + set + { + ((Internal*) __Instance)->IsStatic = (byte) (value ? 1 : 0); + } + } + + public bool IsConst + { + get + { + return ((Internal*) __Instance)->IsConst != 0; + } + + set + { + ((Internal*) __Instance)->IsConst = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((Internal*) __Instance)->IsExplicit != 0; + } + + set + { + ((Internal*) __Instance)->IsExplicit = (byte) (value ? 1 : 0); + } + } + + public bool IsOverride + { + get + { + return ((Internal*) __Instance)->IsOverride != 0; + } + + set + { + ((Internal*) __Instance)->IsOverride = (byte) (value ? 1 : 0); + } + } + + public CppSharp.Parser.AST.CXXMethodKind MethodKind + { + get + { + return ((Internal*) __Instance)->MethodKind; + } + + set + { + ((Internal*) __Instance)->MethodKind = value; + } + } + + public bool IsDefaultConstructor + { + get + { + return ((Internal*) __Instance)->IsDefaultConstructor != 0; + } + + set + { + ((Internal*) __Instance)->IsDefaultConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsCopyConstructor + { + get + { + return ((Internal*) __Instance)->IsCopyConstructor != 0; + } + + set + { + ((Internal*) __Instance)->IsCopyConstructor = (byte) (value ? 1 : 0); + } + } + + public bool IsMoveConstructor + { + get + { + return ((Internal*) __Instance)->IsMoveConstructor != 0; + } + + set + { + ((Internal*) __Instance)->IsMoveConstructor = (byte) (value ? 1 : 0); + } + } + + public CppSharp.Parser.AST.QualifiedType ConversionType + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->ConversionType); + } + + set + { + ((Internal*) __Instance)->ConversionType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class Enumeration : CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 504)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(456)] + public byte IsAnonymous; + + [FieldOffset(460)] + public CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers; + + [FieldOffset(464)] + public global::System.IntPtr Type; + + [FieldOffset(472)] + public global::System.IntPtr BuiltinType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11EnumerationD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv")] + internal static extern void clearItems_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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 : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(224)] + public ulong Value; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv")] + internal static extern global::System.IntPtr getExpression_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc")] + internal static extern void setExpression_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public static new Item __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Item(native.ToPointer(), skipVTables); + } + + public static Item __CreateInstance(Item.Internal native, bool skipVTables = false) + { + return new Item(native, skipVTables); + } + + private static void* __CopyValue(Item.Internal native) + { + var ret = Marshal.AllocHGlobal(232); + CppSharp.Parser.AST.Enumeration.Item.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Item(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(232); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Item(CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(232); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string Expression + { + get + { + var __ret = Internal.getExpression_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public ulong Value + { + get + { + return ((Internal*) __Instance)->Value; + } + + set + { + ((Internal*) __Instance)->Value = value; + } + } + } + + public static new Enumeration __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Enumeration(native.ToPointer(), skipVTables); + } + + public static Enumeration __CreateInstance(Enumeration.Internal native, bool skipVTables = false) + { + return new Enumeration(native, skipVTables); + } + + private static void* __CopyValue(Enumeration.Internal native) + { + var ret = Marshal.AllocHGlobal(504); + CppSharp.Parser.AST.Enumeration.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Enumeration(Enumeration.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Enumeration(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Enumeration() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(504); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Enumeration(CppSharp.Parser.AST.Enumeration _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(504); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.Enumeration.Item getItems(uint i) + { + var __ret = Internal.getItems_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Enumeration.Item __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Enumeration.Item) CppSharp.Parser.AST.Enumeration.Item.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Enumeration.Item.__CreateInstance(__ret); + return __result0; + } + + public void addItems(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 uint ItemsCount + { + get + { + var __ret = Internal.getItemsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers + { + get + { + return ((Internal*) __Instance)->Modifiers; + } + + set + { + ((Internal*) __Instance)->Modifiers = value; + } + } + + public CppSharp.Parser.AST.Type Type + { + get + { + CppSharp.Parser.AST.Type __result0; + if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type)) + __result0 = (CppSharp.Parser.AST.Type) CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type]; + else __result0 = CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type); + return __result0; + } + + set + { + ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.BuiltinType BuiltinType + { + get + { + CppSharp.Parser.AST.BuiltinType __result0; + if (((Internal*) __Instance)->BuiltinType == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.BuiltinType.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->BuiltinType)) + __result0 = (CppSharp.Parser.AST.BuiltinType) CppSharp.Parser.AST.BuiltinType.NativeToManagedMap[((Internal*) __Instance)->BuiltinType]; + else __result0 = CppSharp.Parser.AST.BuiltinType.__CreateInstance(((Internal*) __Instance)->BuiltinType); + return __result0; + } + + set + { + ((Internal*) __Instance)->BuiltinType = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Variable : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 240)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(224)] + public CppSharp.Parser.AST.QualifiedType.Internal QualifiedType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8VariableD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10getMangledEv")] + internal static extern global::System.IntPtr getMangled_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc")] + internal static extern void setMangled_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public static new Variable __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Variable(native.ToPointer(), skipVTables); + } + + public static Variable __CreateInstance(Variable.Internal native, bool skipVTables = false) + { + return new Variable(native, skipVTables); + } + + private static void* __CopyValue(Variable.Internal native) + { + var ret = Marshal.AllocHGlobal(240); + CppSharp.Parser.AST.Variable.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Variable(Variable.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Variable(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Variable() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(240); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Variable(CppSharp.Parser.AST.Variable _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(240); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string Mangled + { + get + { + var __ret = Internal.getMangled_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setMangled_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType); + } + + set + { + ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class BaseClassSpecifier : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(4)] + public byte IsVirtual; + + [FieldOffset(8)] + public global::System.IntPtr Type; + + [FieldOffset(16)] + public int Offset; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + 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; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, BaseClassSpecifier> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, BaseClassSpecifier>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static BaseClassSpecifier __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new BaseClassSpecifier(native.ToPointer(), skipVTables); + } + + public static BaseClassSpecifier __CreateInstance(BaseClassSpecifier.Internal native, bool skipVTables = false) + { + return new BaseClassSpecifier(native, skipVTables); + } + + private static void* __CopyValue(BaseClassSpecifier.Internal native) + { + var ret = Marshal.AllocHGlobal(24); + *(BaseClassSpecifier.Internal*) ret = native; + return ret.ToPointer(); + } + + private BaseClassSpecifier(BaseClassSpecifier.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BaseClassSpecifier(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BaseClassSpecifier() + { + __Instance = Marshal.AllocHGlobal(24); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public BaseClassSpecifier(CppSharp.Parser.AST.BaseClassSpecifier _0) + { + __Instance = Marshal.AllocHGlobal(24); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((BaseClassSpecifier.Internal*) __Instance) = *((BaseClassSpecifier.Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.BaseClassSpecifier __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.AccessSpecifier Access + { + get + { + return ((Internal*) __Instance)->Access; + } + + set + { + ((Internal*) __Instance)->Access = value; + } + } + + public bool IsVirtual + { + get + { + return ((Internal*) __Instance)->IsVirtual != 0; + } + + set + { + ((Internal*) __Instance)->IsVirtual = (byte) (value ? 1 : 0); + } + } + + public CppSharp.Parser.AST.Type Type + { + get + { + CppSharp.Parser.AST.Type __result0; + if (((Internal*) __Instance)->Type == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Type.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Type)) + __result0 = (CppSharp.Parser.AST.Type) CppSharp.Parser.AST.Type.NativeToManagedMap[((Internal*) __Instance)->Type]; + else __result0 = CppSharp.Parser.AST.Type.__CreateInstance(((Internal*) __Instance)->Type); + return __result0; + } + + set + { + ((Internal*) __Instance)->Type = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public int Offset + { + get + { + return ((Internal*) __Instance)->Offset; + } + + set + { + ((Internal*) __Instance)->Offset = value; + } + } + } + + public unsafe partial class Field : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 224)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(192)] + public 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5FieldD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new Field __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Field(native.ToPointer(), skipVTables); + } + + public static Field __CreateInstance(Field.Internal native, bool skipVTables = false) + { + return new Field(native, skipVTables); + } + + private static void* __CopyValue(Field.Internal native) + { + var ret = Marshal.AllocHGlobal(224); + CppSharp.Parser.AST.Field.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Field(Field.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Field(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Field() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(224); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Field(CppSharp.Parser.AST.Field _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(224); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->QualifiedType); + } + + set + { + ((Internal*) __Instance)->QualifiedType = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + + public CppSharp.Parser.AST.Class Class + { + get + { + CppSharp.Parser.AST.Class __result0; + if (((Internal*) __Instance)->Class == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Class.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Class)) + __result0 = (CppSharp.Parser.AST.Class) CppSharp.Parser.AST.Class.NativeToManagedMap[((Internal*) __Instance)->Class]; + else __result0 = CppSharp.Parser.AST.Class.__CreateInstance(((Internal*) __Instance)->Class); + return __result0; + } + + set + { + ((Internal*) __Instance)->Class = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public bool IsBitField + { + get + { + return ((Internal*) __Instance)->IsBitField != 0; + } + + set + { + ((Internal*) __Instance)->IsBitField = (byte) (value ? 1 : 0); + } + } + + public uint BitWidth + { + get + { + return ((Internal*) __Instance)->BitWidth; + } + + set + { + ((Internal*) __Instance)->BitWidth = value; + } + } + } + + public unsafe partial class AccessSpecifierDecl : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 192)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new AccessSpecifierDecl __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new AccessSpecifierDecl(native.ToPointer(), skipVTables); + } + + public static AccessSpecifierDecl __CreateInstance(AccessSpecifierDecl.Internal native, bool skipVTables = false) + { + return new AccessSpecifierDecl(native, skipVTables); + } + + private static void* __CopyValue(AccessSpecifierDecl.Internal native) + { + var ret = Marshal.AllocHGlobal(192); + CppSharp.Parser.AST.AccessSpecifierDecl.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private AccessSpecifierDecl(AccessSpecifierDecl.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected AccessSpecifierDecl(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public AccessSpecifierDecl() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(192); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public AccessSpecifierDecl(CppSharp.Parser.AST.AccessSpecifierDecl _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(192); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + } + + public unsafe partial class Class : CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 584)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(456)] + public byte IsAnonymous; + + [FieldOffset(560)] + public byte IsPOD; + + [FieldOffset(561)] + public byte IsAbstract; + + [FieldOffset(562)] + public byte IsUnion; + + [FieldOffset(563)] + public byte IsDynamic; + + [FieldOffset(564)] + public byte IsPolymorphic; + + [FieldOffset(565)] + public byte HasNonTrivialDefaultConstructor; + + [FieldOffset(566)] + public byte HasNonTrivialCopyConstructor; + + [FieldOffset(567)] + public byte HasNonTrivialDestructor; + + [FieldOffset(568)] + public byte IsExternCContext; + + [FieldOffset(576)] + public global::System.IntPtr Layout; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5ClassD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class10clearBasesEv")] + internal static extern void clearBases_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv")] + internal static extern void clearFields_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv")] + internal static extern void clearMethods_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv")] + internal static extern void clearSpecifiers_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv")] + internal static extern uint getBasesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv")] + internal static extern uint getFieldsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv")] + internal static extern uint getMethodsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv")] + internal static extern uint getSpecifiersCount_0(global::System.IntPtr instance); + } + + public static new Class __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Class(native.ToPointer(), skipVTables); + } + + public static Class __CreateInstance(Class.Internal native, bool skipVTables = false) + { + return new Class(native, skipVTables); + } + + private static void* __CopyValue(Class.Internal native) + { + var ret = Marshal.AllocHGlobal(584); + CppSharp.Parser.AST.Class.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Class(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(584); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Class(CppSharp.Parser.AST.Class _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(584); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.BaseClassSpecifier getBases(uint i) + { + var __ret = Internal.getBases_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.BaseClassSpecifier __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.BaseClassSpecifier) CppSharp.Parser.AST.BaseClassSpecifier.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.BaseClassSpecifier.__CreateInstance(__ret); + return __result0; + } + + public void addBases(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 CppSharp.Parser.AST.Field getFields(uint i) + { + var __ret = Internal.getFields_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Field __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Field.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Field) CppSharp.Parser.AST.Field.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Field.__CreateInstance(__ret); + return __result0; + } + + public void addFields(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 CppSharp.Parser.AST.Method getMethods(uint i) + { + var __ret = Internal.getMethods_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Method __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Method.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Method) CppSharp.Parser.AST.Method.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Method.__CreateInstance(__ret); + return __result0; + } + + public void addMethods(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 CppSharp.Parser.AST.AccessSpecifierDecl getSpecifiers(uint i) + { + var __ret = Internal.getSpecifiers_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.AccessSpecifierDecl __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.AccessSpecifierDecl) CppSharp.Parser.AST.AccessSpecifierDecl.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.AccessSpecifierDecl.__CreateInstance(__ret); + return __result0; + } + + public void addSpecifiers(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 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 bool IsPOD + { + get + { + return ((Internal*) __Instance)->IsPOD != 0; + } + + set + { + ((Internal*) __Instance)->IsPOD = (byte) (value ? 1 : 0); + } + } + + public bool IsAbstract + { + get + { + return ((Internal*) __Instance)->IsAbstract != 0; + } + + set + { + ((Internal*) __Instance)->IsAbstract = (byte) (value ? 1 : 0); + } + } + + public bool IsUnion + { + get + { + return ((Internal*) __Instance)->IsUnion != 0; + } + + set + { + ((Internal*) __Instance)->IsUnion = (byte) (value ? 1 : 0); + } + } + + public bool IsDynamic + { + get + { + return ((Internal*) __Instance)->IsDynamic != 0; + } + + set + { + ((Internal*) __Instance)->IsDynamic = (byte) (value ? 1 : 0); + } + } + + public bool IsPolymorphic + { + get + { + return ((Internal*) __Instance)->IsPolymorphic != 0; + } + + set + { + ((Internal*) __Instance)->IsPolymorphic = (byte) (value ? 1 : 0); + } + } + + public bool HasNonTrivialDefaultConstructor + { + get + { + return ((Internal*) __Instance)->HasNonTrivialDefaultConstructor != 0; + } + + set + { + ((Internal*) __Instance)->HasNonTrivialDefaultConstructor = (byte) (value ? 1 : 0); + } + } + + public bool HasNonTrivialCopyConstructor + { + get + { + return ((Internal*) __Instance)->HasNonTrivialCopyConstructor != 0; + } + + set + { + ((Internal*) __Instance)->HasNonTrivialCopyConstructor = (byte) (value ? 1 : 0); + } + } + + public bool HasNonTrivialDestructor + { + get + { + return ((Internal*) __Instance)->HasNonTrivialDestructor != 0; + } + + set + { + ((Internal*) __Instance)->HasNonTrivialDestructor = (byte) (value ? 1 : 0); + } + } + + public bool IsExternCContext + { + get + { + return ((Internal*) __Instance)->IsExternCContext != 0; + } + + set + { + ((Internal*) __Instance)->IsExternCContext = (byte) (value ? 1 : 0); + } + } + + public CppSharp.Parser.AST.ClassLayout Layout + { + get + { + CppSharp.Parser.AST.ClassLayout __result0; + if (((Internal*) __Instance)->Layout == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.ClassLayout.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Layout)) + __result0 = (CppSharp.Parser.AST.ClassLayout) CppSharp.Parser.AST.ClassLayout.NativeToManagedMap[((Internal*) __Instance)->Layout]; + else __result0 = CppSharp.Parser.AST.ClassLayout.__CreateInstance(((Internal*) __Instance)->Layout); + return __result0; + } + + set + { + ((Internal*) __Instance)->Layout = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Template : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 224)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(192)] + public global::System.IntPtr TemplatedDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2Ev")] + internal static extern void ctor_1(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_")] + internal static extern void cctor_3(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8TemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template15clearParametersEv")] + internal static extern void clearParameters_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv")] + internal static extern uint getParametersCount_0(global::System.IntPtr instance); + } + + public static new Template __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Template(native.ToPointer(), skipVTables); + } + + public static Template __CreateInstance(Template.Internal native, bool skipVTables = false) + { + return new Template(native, skipVTables); + } + + private static void* __CopyValue(Template.Internal native) + { + var ret = Marshal.AllocHGlobal(224); + CppSharp.Parser.AST.Template.Internal.cctor_3(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Template(Template.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Template(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Template(CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(224); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __arg0 = kind; + Internal.ctor_0((__Instance + __PointerAdjustment), __arg0); + } + + public Template() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(224); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_1((__Instance + __PointerAdjustment)); + } + + public Template(CppSharp.Parser.AST.Template _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(224); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.Declaration getParameters(uint i) + { + var __ret = Internal.getParameters_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.Declaration __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.Declaration) CppSharp.Parser.AST.Declaration.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.Declaration.__CreateInstance(__ret); + return __result0; + } + + public void addParameters(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 uint ParametersCount + { + get + { + var __ret = Internal.getParametersCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public CppSharp.Parser.AST.Declaration TemplatedDecl + { + get + { + CppSharp.Parser.AST.Declaration __result0; + if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Declaration.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl)) + __result0 = (CppSharp.Parser.AST.Declaration) CppSharp.Parser.AST.Declaration.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl]; + else __result0 = CppSharp.Parser.AST.Declaration.__CreateInstance(((Internal*) __Instance)->TemplatedDecl); + return __result0; + } + + set + { + ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class TypeAliasTemplate : CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 224)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(192)] + public global::System.IntPtr TemplatedDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new TypeAliasTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TypeAliasTemplate(native.ToPointer(), skipVTables); + } + + public static TypeAliasTemplate __CreateInstance(TypeAliasTemplate.Internal native, bool skipVTables = false) + { + return new TypeAliasTemplate(native, skipVTables); + } + + private static void* __CopyValue(TypeAliasTemplate.Internal native) + { + var ret = Marshal.AllocHGlobal(224); + CppSharp.Parser.AST.TypeAliasTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TypeAliasTemplate(TypeAliasTemplate.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypeAliasTemplate(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypeAliasTemplate() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(224); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public TypeAliasTemplate(CppSharp.Parser.AST.TypeAliasTemplate _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(224); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + } + + public unsafe partial class TemplateParameter : CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 208)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(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; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new TemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TemplateParameter(native.ToPointer(), skipVTables); + } + + public static TemplateParameter __CreateInstance(TemplateParameter.Internal native, bool skipVTables = false) + { + return new TemplateParameter(native, skipVTables); + } + + private static void* __CopyValue(TemplateParameter.Internal native) + { + var ret = Marshal.AllocHGlobal(208); + CppSharp.Parser.AST.TemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TemplateParameter(TemplateParameter.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TemplateParameter(CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(208); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __arg0 = kind; + Internal.ctor_0((__Instance + __PointerAdjustment), __arg0); + } + + public TemplateParameter(CppSharp.Parser.AST.TemplateParameter _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(208); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public uint Depth + { + get + { + return ((Internal*) __Instance)->Depth; + } + + set + { + ((Internal*) __Instance)->Depth = value; + } + } + + public uint Index + { + get + { + return ((Internal*) __Instance)->Index; + } + + set + { + ((Internal*) __Instance)->Index = value; + } + } + + public bool IsParameterPack + { + get + { + return ((Internal*) __Instance)->IsParameterPack != 0; + } + + set + { + ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class TemplateTemplateParameter : CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(192)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(224)] + public byte IsParameterPack; + + [FieldOffset(225)] + public byte IsPackExpansion; + + [FieldOffset(226)] + public byte IsExpandedParameterPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new TemplateTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TemplateTemplateParameter(native.ToPointer(), skipVTables); + } + + public static TemplateTemplateParameter __CreateInstance(TemplateTemplateParameter.Internal native, bool skipVTables = false) + { + return new TemplateTemplateParameter(native, skipVTables); + } + + private static void* __CopyValue(TemplateTemplateParameter.Internal native) + { + var ret = Marshal.AllocHGlobal(232); + CppSharp.Parser.AST.TemplateTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TemplateTemplateParameter(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(232); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public TemplateTemplateParameter(CppSharp.Parser.AST.TemplateTemplateParameter _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(232); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public bool IsParameterPack + { + get + { + return ((Internal*) __Instance)->IsParameterPack != 0; + } + + set + { + ((Internal*) __Instance)->IsParameterPack = (byte) (value ? 1 : 0); + } + } + + public bool IsPackExpansion + { + get + { + return ((Internal*) __Instance)->IsPackExpansion != 0; + } + + set + { + ((Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0); + } + } + + public bool IsExpandedParameterPack + { + get + { + return ((Internal*) __Instance)->IsExpandedParameterPack != 0; + } + + set + { + ((Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class TypeTemplateParameter : CppSharp.Parser.AST.TemplateParameter, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 224)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(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 CppSharp.Parser.AST.QualifiedType.Internal DefaultArgument; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new TypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TypeTemplateParameter(native.ToPointer(), skipVTables); + } + + public static TypeTemplateParameter __CreateInstance(TypeTemplateParameter.Internal native, bool skipVTables = false) + { + return new TypeTemplateParameter(native, skipVTables); + } + + private static void* __CopyValue(TypeTemplateParameter.Internal native) + { + var ret = Marshal.AllocHGlobal(224); + CppSharp.Parser.AST.TypeTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TypeTemplateParameter(TypeTemplateParameter.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TypeTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TypeTemplateParameter() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(224); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public TypeTemplateParameter(CppSharp.Parser.AST.TypeTemplateParameter _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(224); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.QualifiedType DefaultArgument + { + get + { + return CppSharp.Parser.AST.QualifiedType.__CreateInstance(((Internal*) __Instance)->DefaultArgument); + } + + set + { + ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? new CppSharp.Parser.AST.QualifiedType.Internal() : *(CppSharp.Parser.AST.QualifiedType.Internal*) (value.__Instance); + } + } + } + + public unsafe partial class NonTypeTemplateParameter : CppSharp.Parser.AST.TemplateParameter, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 224)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(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::System.IntPtr DefaultArgument; + + [FieldOffset(216)] + public uint Position; + + [FieldOffset(220)] + public byte IsPackExpansion; + + [FieldOffset(221)] + public byte IsExpandedParameterPack; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new NonTypeTemplateParameter __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new NonTypeTemplateParameter(native.ToPointer(), skipVTables); + } + + public static NonTypeTemplateParameter __CreateInstance(NonTypeTemplateParameter.Internal native, bool skipVTables = false) + { + return new NonTypeTemplateParameter(native, skipVTables); + } + + private static void* __CopyValue(NonTypeTemplateParameter.Internal native) + { + var ret = Marshal.AllocHGlobal(224); + CppSharp.Parser.AST.NonTypeTemplateParameter.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private NonTypeTemplateParameter(NonTypeTemplateParameter.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public NonTypeTemplateParameter() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(224); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public NonTypeTemplateParameter(CppSharp.Parser.AST.NonTypeTemplateParameter _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(224); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.Expression DefaultArgument + { + get + { + CppSharp.Parser.AST.Expression __result0; + if (((Internal*) __Instance)->DefaultArgument == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Expression.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->DefaultArgument)) + __result0 = (CppSharp.Parser.AST.Expression) CppSharp.Parser.AST.Expression.NativeToManagedMap[((Internal*) __Instance)->DefaultArgument]; + else __result0 = CppSharp.Parser.AST.Expression.__CreateInstance(((Internal*) __Instance)->DefaultArgument); + return __result0; + } + + set + { + ((Internal*) __Instance)->DefaultArgument = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public uint Position + { + get + { + return ((Internal*) __Instance)->Position; + } + + set + { + ((Internal*) __Instance)->Position = value; + } + } + + public bool IsPackExpansion + { + get + { + return ((Internal*) __Instance)->IsPackExpansion != 0; + } + + set + { + ((Internal*) __Instance)->IsPackExpansion = (byte) (value ? 1 : 0); + } + } + + public bool IsExpandedParameterPack + { + get + { + return ((Internal*) __Instance)->IsExpandedParameterPack != 0; + } + + set + { + ((Internal*) __Instance)->IsExpandedParameterPack = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class ClassTemplate : CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 248)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(192)] + public global::System.IntPtr TemplatedDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv")] + internal static extern void clearSpecializations_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv")] + internal static extern uint getSpecializationsCount_0(global::System.IntPtr instance); + } + + public static new ClassTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new ClassTemplate(native.ToPointer(), skipVTables); + } + + public static ClassTemplate __CreateInstance(ClassTemplate.Internal native, bool skipVTables = false) + { + return new ClassTemplate(native, skipVTables); + } + + private static void* __CopyValue(ClassTemplate.Internal native) + { + var ret = Marshal.AllocHGlobal(248); + CppSharp.Parser.AST.ClassTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ClassTemplate(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(248); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public ClassTemplate(CppSharp.Parser.AST.ClassTemplate _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(248); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.ClassTemplateSpecialization getSpecializations(uint i) + { + var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.ClassTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.ClassTemplateSpecialization) CppSharp.Parser.AST.ClassTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.ClassTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public void addSpecializations(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); + } + + 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 ClassTemplateSpecialization : CppSharp.Parser.AST.Class, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 624)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(456)] + public byte IsAnonymous; + + [FieldOffset(560)] + public byte IsPOD; + + [FieldOffset(561)] + public byte IsAbstract; + + [FieldOffset(562)] + public byte IsUnion; + + [FieldOffset(563)] + public byte IsDynamic; + + [FieldOffset(564)] + public byte IsPolymorphic; + + [FieldOffset(565)] + public byte HasNonTrivialDefaultConstructor; + + [FieldOffset(566)] + public byte HasNonTrivialCopyConstructor; + + [FieldOffset(567)] + public byte HasNonTrivialDestructor; + + [FieldOffset(568)] + public byte IsExternCContext; + + [FieldOffset(576)] + public global::System.IntPtr Layout; + + [FieldOffset(584)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(616)] + public CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv")] + internal static extern void clearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv")] + internal static extern uint getArgumentsCount_0(global::System.IntPtr instance); + } + + public static new ClassTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new ClassTemplateSpecialization(native.ToPointer(), skipVTables); + } + + public static ClassTemplateSpecialization __CreateInstance(ClassTemplateSpecialization.Internal native, bool skipVTables = false) + { + return new ClassTemplateSpecialization(native, skipVTables); + } + + private static void* __CopyValue(ClassTemplateSpecialization.Internal native) + { + var ret = Marshal.AllocHGlobal(624); + CppSharp.Parser.AST.ClassTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ClassTemplateSpecialization(ClassTemplateSpecialization.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ClassTemplateSpecialization(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ClassTemplateSpecialization() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(624); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public ClassTemplateSpecialization(CppSharp.Parser.AST.ClassTemplateSpecialization _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(624); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.TemplateArgument getArguments(uint i) + { + var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal(); + Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void addArguments(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 uint ArgumentsCount + { + get + { + var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public CppSharp.Parser.AST.ClassTemplate TemplatedDecl + { + get + { + CppSharp.Parser.AST.ClassTemplate __result0; + if (((Internal*) __Instance)->TemplatedDecl == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TemplatedDecl)) + __result0 = (CppSharp.Parser.AST.ClassTemplate) CppSharp.Parser.AST.ClassTemplate.NativeToManagedMap[((Internal*) __Instance)->TemplatedDecl]; + else __result0 = CppSharp.Parser.AST.ClassTemplate.__CreateInstance(((Internal*) __Instance)->TemplatedDecl); + return __result0; + } + + set + { + ((Internal*) __Instance)->TemplatedDecl = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((Internal*) __Instance)->SpecializationKind; + } + + set + { + ((Internal*) __Instance)->SpecializationKind = value; + } + } + } + + public unsafe partial class ClassTemplatePartialSpecialization : CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 624)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(456)] + public byte IsAnonymous; + + [FieldOffset(560)] + public byte IsPOD; + + [FieldOffset(561)] + public byte IsAbstract; + + [FieldOffset(562)] + public byte IsUnion; + + [FieldOffset(563)] + public byte IsDynamic; + + [FieldOffset(564)] + public byte IsPolymorphic; + + [FieldOffset(565)] + public byte HasNonTrivialDefaultConstructor; + + [FieldOffset(566)] + public byte HasNonTrivialCopyConstructor; + + [FieldOffset(567)] + public byte HasNonTrivialDestructor; + + [FieldOffset(568)] + public byte IsExternCContext; + + [FieldOffset(576)] + public global::System.IntPtr Layout; + + [FieldOffset(584)] + public global::System.IntPtr TemplatedDecl; + + [FieldOffset(616)] + public CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new ClassTemplatePartialSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + } + + public static ClassTemplatePartialSpecialization __CreateInstance(ClassTemplatePartialSpecialization.Internal native, bool skipVTables = false) + { + return new ClassTemplatePartialSpecialization(native, skipVTables); + } + + private static void* __CopyValue(ClassTemplatePartialSpecialization.Internal native) + { + var ret = Marshal.AllocHGlobal(624); + CppSharp.Parser.AST.ClassTemplatePartialSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ClassTemplatePartialSpecialization(ClassTemplatePartialSpecialization.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ClassTemplatePartialSpecialization() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(624); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public ClassTemplatePartialSpecialization(CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(624); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + } + + public unsafe partial class FunctionTemplate : CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 248)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(192)] + public global::System.IntPtr TemplatedDecl; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv")] + internal static extern void clearSpecializations_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv")] + internal static extern uint getSpecializationsCount_0(global::System.IntPtr instance); + } + + public static new FunctionTemplate __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new FunctionTemplate(native.ToPointer(), skipVTables); + } + + public static FunctionTemplate __CreateInstance(FunctionTemplate.Internal native, bool skipVTables = false) + { + return new FunctionTemplate(native, skipVTables); + } + + private static void* __CopyValue(FunctionTemplate.Internal native) + { + var ret = Marshal.AllocHGlobal(248); + CppSharp.Parser.AST.FunctionTemplate.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private FunctionTemplate(FunctionTemplate.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FunctionTemplate(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FunctionTemplate() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(248); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public FunctionTemplate(CppSharp.Parser.AST.FunctionTemplate _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(248); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.FunctionTemplateSpecialization getSpecializations(uint i) + { + var __ret = Internal.getSpecializations_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.FunctionTemplateSpecialization __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.FunctionTemplateSpecialization) CppSharp.Parser.AST.FunctionTemplateSpecialization.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.FunctionTemplateSpecialization.__CreateInstance(__ret); + return __result0; + } + + public void addSpecializations(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); + } + + 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 FunctionTemplateSpecialization : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct Internal + { + [FieldOffset(0)] + public global::System.IntPtr Template; + + [FieldOffset(32)] + public global::System.IntPtr SpecializedFunction; + + [FieldOffset(40)] + public CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE")] + 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="_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv")] + internal static extern void clearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, FunctionTemplateSpecialization> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, FunctionTemplateSpecialization>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static FunctionTemplateSpecialization __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + } + + public static FunctionTemplateSpecialization __CreateInstance(FunctionTemplateSpecialization.Internal native, bool skipVTables = false) + { + return new FunctionTemplateSpecialization(native, skipVTables); + } + + private static void* __CopyValue(FunctionTemplateSpecialization.Internal native) + { + var ret = Marshal.AllocHGlobal(48); + CppSharp.Parser.AST.FunctionTemplateSpecialization.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private FunctionTemplateSpecialization(FunctionTemplateSpecialization.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FunctionTemplateSpecialization() + { + __Instance = Marshal.AllocHGlobal(48); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public FunctionTemplateSpecialization(CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + { + __Instance = Marshal.AllocHGlobal(48); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.FunctionTemplateSpecialization __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.TemplateArgument getArguments(uint i) + { + var __ret = new CppSharp.Parser.AST.TemplateArgument.Internal(); + Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return CppSharp.Parser.AST.TemplateArgument.__CreateInstance(__ret); + } + + public void addArguments(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 uint ArgumentsCount + { + get + { + var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public CppSharp.Parser.AST.FunctionTemplate Template + { + get + { + CppSharp.Parser.AST.FunctionTemplate __result0; + if (((Internal*) __Instance)->Template == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Template)) + __result0 = (CppSharp.Parser.AST.FunctionTemplate) CppSharp.Parser.AST.FunctionTemplate.NativeToManagedMap[((Internal*) __Instance)->Template]; + else __result0 = CppSharp.Parser.AST.FunctionTemplate.__CreateInstance(((Internal*) __Instance)->Template); + return __result0; + } + + set + { + ((Internal*) __Instance)->Template = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.Function SpecializedFunction + { + get + { + CppSharp.Parser.AST.Function __result0; + if (((Internal*) __Instance)->SpecializedFunction == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.Function.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->SpecializedFunction)) + __result0 = (CppSharp.Parser.AST.Function) CppSharp.Parser.AST.Function.NativeToManagedMap[((Internal*) __Instance)->SpecializedFunction]; + else __result0 = CppSharp.Parser.AST.Function.__CreateInstance(((Internal*) __Instance)->SpecializedFunction); + return __result0; + } + + set + { + ((Internal*) __Instance)->SpecializedFunction = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((Internal*) __Instance)->SpecializationKind; + } + + set + { + ((Internal*) __Instance)->SpecializationKind = value; + } + } + } + + public unsafe partial class Namespace : CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 464)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(456)] + public byte IsAnonymous; + + [FieldOffset(457)] + public byte IsInline; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST9NamespaceD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public static new Namespace __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Namespace(native.ToPointer(), skipVTables); + } + + public static Namespace __CreateInstance(Namespace.Internal native, bool skipVTables = false) + { + return new Namespace(native, skipVTables); + } + + private static void* __CopyValue(Namespace.Internal native) + { + var ret = Marshal.AllocHGlobal(464); + CppSharp.Parser.AST.Namespace.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Namespace(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(464); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Namespace(CppSharp.Parser.AST.Namespace _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(464); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public bool IsInline + { + get + { + return ((Internal*) __Instance)->IsInline != 0; + } + + set + { + ((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 CppSharp.Parser.AST.MacroLocation MacroLocation; + + [FieldOffset(8)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(16)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_")] + 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; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, PreprocessedEntity> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, PreprocessedEntity>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static PreprocessedEntity __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new PreprocessedEntity(native.ToPointer(), skipVTables); + } + + public static PreprocessedEntity __CreateInstance(PreprocessedEntity.Internal native, bool skipVTables = false) + { + return new PreprocessedEntity(native, skipVTables); + } + + private static void* __CopyValue(PreprocessedEntity.Internal native) + { + var ret = Marshal.AllocHGlobal(24); + *(PreprocessedEntity.Internal*) ret = native; + return ret.ToPointer(); + } + + private PreprocessedEntity(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(24); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public PreprocessedEntity(CppSharp.Parser.AST.PreprocessedEntity _0) + { + __Instance = Marshal.AllocHGlobal(24); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((PreprocessedEntity.Internal*) __Instance) = *((PreprocessedEntity.Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.MacroLocation MacroLocation + { + get + { + return ((Internal*) __Instance)->MacroLocation; + } + + set + { + ((Internal*) __Instance)->MacroLocation = value; + } + } + + public global::System.IntPtr OriginalPtr + { + get + { + return ((Internal*) __Instance)->OriginalPtr; + } + + set + { + ((Internal*) __Instance)->OriginalPtr = (global::System.IntPtr) value; + } + } + + public CppSharp.Parser.AST.DeclarationKind Kind + { + get + { + return ((Internal*) __Instance)->Kind; + } + + set + { + ((Internal*) __Instance)->Kind = value; + } + } + } + + public unsafe partial class MacroDefinition : CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.MacroLocation MacroLocation; + + [FieldOffset(8)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(16)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(88)] + public int LineNumberStart; + + [FieldOffset(92)] + public int LineNumberEnd; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinition7getNameEv")] + internal static extern global::System.IntPtr getName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinition7setNameEPKc")] + internal static extern void setName_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinition13getExpressionEv")] + internal static extern global::System.IntPtr getExpression_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15MacroDefinition13setExpressionEPKc")] + internal static extern void setExpression_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public static new MacroDefinition __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new MacroDefinition(native.ToPointer(), skipVTables); + } + + public static MacroDefinition __CreateInstance(MacroDefinition.Internal native, bool skipVTables = false) + { + return new MacroDefinition(native, skipVTables); + } + + private static void* __CopyValue(MacroDefinition.Internal native) + { + var ret = Marshal.AllocHGlobal(96); + CppSharp.Parser.AST.MacroDefinition.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private MacroDefinition(MacroDefinition.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MacroDefinition(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MacroDefinition() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(96); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public MacroDefinition(CppSharp.Parser.AST.MacroDefinition _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(96); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string Name + { + get + { + var __ret = Internal.getName_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setName_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public string Expression + { + get + { + var __ret = Internal.getExpression_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setExpression_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public int LineNumberStart + { + get + { + return ((Internal*) __Instance)->LineNumberStart; + } + + set + { + ((Internal*) __Instance)->LineNumberStart = value; + } + } + + public int LineNumberEnd + { + get + { + return ((Internal*) __Instance)->LineNumberEnd; + } + + set + { + ((Internal*) __Instance)->LineNumberEnd = value; + } + } + } + + public unsafe partial class MacroExpansion : CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.MacroLocation MacroLocation; + + [FieldOffset(8)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(16)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(88)] + public global::System.IntPtr Definition; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansion7getNameEv")] + internal static extern global::System.IntPtr getName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansion7setNameEPKc")] + internal static extern void setName_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansion7getTextEv")] + internal static extern global::System.IntPtr getText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14MacroExpansion7setTextEPKc")] + internal static extern void setText_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public static new MacroExpansion __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new MacroExpansion(native.ToPointer(), skipVTables); + } + + public static MacroExpansion __CreateInstance(MacroExpansion.Internal native, bool skipVTables = false) + { + return new MacroExpansion(native, skipVTables); + } + + private static void* __CopyValue(MacroExpansion.Internal native) + { + var ret = Marshal.AllocHGlobal(96); + CppSharp.Parser.AST.MacroExpansion.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private MacroExpansion(MacroExpansion.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected MacroExpansion(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public MacroExpansion() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(96); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public MacroExpansion(CppSharp.Parser.AST.MacroExpansion _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(96); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.PreprocessedEntity __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string Name + { + get + { + var __ret = Internal.getName_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setName_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public string Text + { + get + { + var __ret = Internal.getText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setText_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public CppSharp.Parser.AST.MacroDefinition Definition + { + get + { + CppSharp.Parser.AST.MacroDefinition __result0; + if (((Internal*) __Instance)->Definition == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Definition)) + __result0 = (CppSharp.Parser.AST.MacroDefinition) CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[((Internal*) __Instance)->Definition]; + else __result0 = CppSharp.Parser.AST.MacroDefinition.__CreateInstance(((Internal*) __Instance)->Definition); + return __result0; + } + + set + { + ((Internal*) __Instance)->Definition = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class TranslationUnit : CppSharp.Parser.AST.Namespace, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 528)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.DeclarationKind Kind; + + [FieldOffset(4)] + public CppSharp.Parser.AST.AccessSpecifier Access; + + [FieldOffset(8)] + public global::System.IntPtr _Namespace; + + [FieldOffset(16)] + public CppSharp.Parser.SourceLocation.Internal Location; + + [FieldOffset(20)] + public int LineNumberStart; + + [FieldOffset(24)] + public int LineNumberEnd; + + [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(176)] + public global::System.IntPtr OriginalPtr; + + [FieldOffset(184)] + public global::System.IntPtr Comment; + + [FieldOffset(456)] + public byte IsAnonymous; + + [FieldOffset(457)] + public byte IsInline; + + [FieldOffset(496)] + public byte IsSystemHeader; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj")] + internal static extern global::System.IntPtr getMacros_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE")] + internal static extern void addMacros_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv")] + internal static extern void clearMacros_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11getFileNameEv")] + internal static extern global::System.IntPtr getFileName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit11setFileNameEPKc")] + internal static extern void setFileName_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv")] + internal static extern uint getMacrosCount_0(global::System.IntPtr instance); + } + + public static new TranslationUnit __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TranslationUnit(native.ToPointer(), skipVTables); + } + + public static TranslationUnit __CreateInstance(TranslationUnit.Internal native, bool skipVTables = false) + { + return new TranslationUnit(native, skipVTables); + } + + private static void* __CopyValue(TranslationUnit.Internal native) + { + var ret = Marshal.AllocHGlobal(528); + CppSharp.Parser.AST.TranslationUnit.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TranslationUnit(TranslationUnit.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TranslationUnit(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TranslationUnit() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(528); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public TranslationUnit(CppSharp.Parser.AST.TranslationUnit _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(528); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Declaration __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.MacroDefinition getMacros(uint i) + { + var __ret = Internal.getMacros_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.MacroDefinition __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.MacroDefinition) CppSharp.Parser.AST.MacroDefinition.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.MacroDefinition.__CreateInstance(__ret); + return __result0; + } + + public void addMacros(CppSharp.Parser.AST.MacroDefinition s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + Internal.addMacros_0((__Instance + __PointerAdjustment), __arg0); + } + + public void clearMacros() + { + Internal.clearMacros_0((__Instance + __PointerAdjustment)); + } + + public string FileName + { + get + { + var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public uint MacrosCount + { + get + { + var __ret = Internal.getMacrosCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public bool IsSystemHeader + { + get + { + return ((Internal*) __Instance)->IsSystemHeader != 0; + } + + set + { + ((Internal*) __Instance)->IsSystemHeader = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class NativeLibrary : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public partial struct Internal + { + [FieldOffset(32)] + public CppSharp.Parser.AST.ArchType ArchType; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj")] + internal static extern global::System.IntPtr getSymbols_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc")] + internal static extern void addSymbols_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv")] + internal static extern void clearSymbols_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj")] + internal static extern global::System.IntPtr getDependencies_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc")] + internal static extern void addDependencies_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv")] + internal static extern void clearDependencies_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary11getFileNameEv")] + internal static extern global::System.IntPtr getFileName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary11setFileNameEPKc")] + internal static extern void setFileName_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv")] + internal static extern uint getSymbolsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv")] + internal static extern uint getDependenciesCount_0(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, NativeLibrary> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, NativeLibrary>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static NativeLibrary __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new NativeLibrary(native.ToPointer(), skipVTables); + } + + public static NativeLibrary __CreateInstance(NativeLibrary.Internal native, bool skipVTables = false) + { + return new NativeLibrary(native, skipVTables); + } + + private static void* __CopyValue(NativeLibrary.Internal native) + { + var ret = Marshal.AllocHGlobal(88); + CppSharp.Parser.AST.NativeLibrary.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private NativeLibrary(NativeLibrary.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected NativeLibrary(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public NativeLibrary() + { + __Instance = Marshal.AllocHGlobal(88); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public NativeLibrary(CppSharp.Parser.AST.NativeLibrary _0) + { + __Instance = Marshal.AllocHGlobal(88); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.NativeLibrary __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string getSymbols(uint i) + { + var __ret = Internal.getSymbols_0((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void addSymbols(string s) + { + var __arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addSymbols_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + + public void clearSymbols() + { + Internal.clearSymbols_0((__Instance + __PointerAdjustment)); + } + + public string getDependencies(uint i) + { + var __ret = Internal.getDependencies_0((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void addDependencies(string s) + { + var __arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addDependencies_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + + public void clearDependencies() + { + Internal.clearDependencies_0((__Instance + __PointerAdjustment)); + } + + public string FileName + { + get + { + var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public uint SymbolsCount + { + get + { + var __ret = Internal.getSymbolsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint DependenciesCount + { + get + { + var __ret = Internal.getDependenciesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public CppSharp.Parser.AST.ArchType ArchType + { + get + { + return ((Internal*) __Instance)->ArchType; + } + + set + { + ((Internal*) __Instance)->ArchType = value; + } + } + } + + public unsafe partial class ASTContext : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContextD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj")] + internal static extern global::System.IntPtr getTranslationUnits_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE")] + internal static extern void addTranslationUnits_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv")] + internal static extern void clearTranslationUnits_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv")] + internal static extern uint getTranslationUnitsCount_0(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, ASTContext> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, ASTContext>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static ASTContext __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new ASTContext(native.ToPointer(), skipVTables); + } + + public static ASTContext __CreateInstance(ASTContext.Internal native, bool skipVTables = false) + { + return new ASTContext(native, skipVTables); + } + + private static void* __CopyValue(ASTContext.Internal native) + { + var ret = Marshal.AllocHGlobal(24); + CppSharp.Parser.AST.ASTContext.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ASTContext(ASTContext.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ASTContext(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ASTContext() + { + __Instance = Marshal.AllocHGlobal(24); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public ASTContext(CppSharp.Parser.AST.ASTContext _0) + { + __Instance = Marshal.AllocHGlobal(24); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.ASTContext __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.TranslationUnit getTranslationUnits(uint i) + { + var __ret = Internal.getTranslationUnits_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.TranslationUnit __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.TranslationUnit) CppSharp.Parser.AST.TranslationUnit.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.TranslationUnit.__CreateInstance(__ret); + return __result0; + } + + public void addTranslationUnits(CppSharp.Parser.AST.TranslationUnit s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + Internal.addTranslationUnits_0((__Instance + __PointerAdjustment), __arg0); + } + + public void clearTranslationUnits() + { + Internal.clearTranslationUnits_0((__Instance + __PointerAdjustment)); + } + + public uint TranslationUnitsCount + { + get + { + var __ret = Internal.getTranslationUnitsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class Comment : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE")] + internal static extern void ctor_0(global::System.IntPtr instance, CppSharp.Parser.AST.CommentKind kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_")] + 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; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, Comment> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, Comment>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static Comment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Comment(native.ToPointer(), skipVTables); + } + + public static Comment __CreateInstance(Comment.Internal native, bool skipVTables = false) + { + return new Comment(native, skipVTables); + } + + private static void* __CopyValue(Comment.Internal native) + { + var ret = Marshal.AllocHGlobal(4); + *(Comment.Internal*) ret = native; + return ret.ToPointer(); + } + + private Comment(Comment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Comment(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Comment(CppSharp.Parser.AST.CommentKind kind) + { + __Instance = Marshal.AllocHGlobal(4); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __arg0 = kind; + Internal.ctor_0((__Instance + __PointerAdjustment), __arg0); + } + + public Comment(CppSharp.Parser.AST.Comment _0) + { + __Instance = Marshal.AllocHGlobal(4); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((Comment.Internal*) __Instance) = *((Comment.Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.CommentKind Kind + { + get + { + return ((Internal*) __Instance)->Kind; + } + + set + { + ((Internal*) __Instance)->Kind = value; + } + } + } + + public unsafe partial class BlockContentComment : CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE")] + internal static extern void ctor_1(global::System.IntPtr instance, CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public static new BlockContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new BlockContentComment(native.ToPointer(), skipVTables); + } + + public static BlockContentComment __CreateInstance(BlockContentComment.Internal native, bool skipVTables = false) + { + return new BlockContentComment(native, skipVTables); + } + + private static void* __CopyValue(BlockContentComment.Internal native) + { + var ret = Marshal.AllocHGlobal(4); + *(BlockContentComment.Internal*) ret = native; + return ret.ToPointer(); + } + + private BlockContentComment(BlockContentComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BlockContentComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BlockContentComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(4); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public BlockContentComment(CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(4); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __arg0 = Kind; + Internal.ctor_1((__Instance + __PointerAdjustment), __arg0); + } + + public BlockContentComment(CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(4); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((BlockContentComment.Internal*) __Instance) = *((BlockContentComment.Internal*) _0.__Instance); + } + } + + public unsafe partial class FullComment : CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj")] + internal static extern global::System.IntPtr getBlocks_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE")] + internal static extern void addBlocks_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv")] + internal static extern void clearBlocks_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv")] + internal static extern uint getBlocksCount_0(global::System.IntPtr instance); + } + + public static new FullComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new FullComment(native.ToPointer(), skipVTables); + } + + public static FullComment __CreateInstance(FullComment.Internal native, bool skipVTables = false) + { + return new FullComment(native, skipVTables); + } + + private static void* __CopyValue(FullComment.Internal native) + { + var ret = Marshal.AllocHGlobal(32); + CppSharp.Parser.AST.FullComment.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private FullComment(FullComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected FullComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public FullComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(32); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public FullComment(CppSharp.Parser.AST.FullComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(32); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.BlockContentComment getBlocks(uint i) + { + var __ret = Internal.getBlocks_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.BlockContentComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.BlockContentComment) CppSharp.Parser.AST.BlockContentComment.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.BlockContentComment.__CreateInstance(__ret); + return __result0; + } + + public void addBlocks(CppSharp.Parser.AST.BlockContentComment s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + Internal.addBlocks_0((__Instance + __PointerAdjustment), __arg0); + } + + public void clearBlocks() + { + Internal.clearBlocks_0((__Instance + __PointerAdjustment)); + } + + public uint BlocksCount + { + get + { + var __ret = Internal.getBlocksCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class InlineContentComment : CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [FieldOffset(4)] + public byte HasTrailingNewline; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ENS1_11CommentKindE")] + internal static extern void ctor_1(global::System.IntPtr instance, CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public static new InlineContentComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new InlineContentComment(native.ToPointer(), skipVTables); + } + + public static InlineContentComment __CreateInstance(InlineContentComment.Internal native, bool skipVTables = false) + { + return new InlineContentComment(native, skipVTables); + } + + private static void* __CopyValue(InlineContentComment.Internal native) + { + var ret = Marshal.AllocHGlobal(8); + *(InlineContentComment.Internal*) ret = native; + return ret.ToPointer(); + } + + private InlineContentComment(InlineContentComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected InlineContentComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public InlineContentComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(8); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public InlineContentComment(CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(8); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __arg0 = Kind; + Internal.ctor_1((__Instance + __PointerAdjustment), __arg0); + } + + public InlineContentComment(CppSharp.Parser.AST.InlineContentComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(8); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((InlineContentComment.Internal*) __Instance) = *((InlineContentComment.Internal*) _0.__Instance); + } + + public bool HasTrailingNewline + { + get + { + return ((Internal*) __Instance)->HasTrailingNewline != 0; + } + + set + { + ((Internal*) __Instance)->HasTrailingNewline = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class ParagraphComment : CppSharp.Parser.AST.BlockContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [FieldOffset(4)] + public byte IsWhitespace; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10getContentEj")] + internal static extern global::System.IntPtr getContent_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment10addContentERPNS1_20InlineContentCommentE")] + internal static extern void addContent_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment12clearContentEv")] + internal static extern void clearContent_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST16ParagraphComment15getContentCountEv")] + internal static extern uint getContentCount_0(global::System.IntPtr instance); + } + + public static new ParagraphComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new ParagraphComment(native.ToPointer(), skipVTables); + } + + public static ParagraphComment __CreateInstance(ParagraphComment.Internal native, bool skipVTables = false) + { + return new ParagraphComment(native, skipVTables); + } + + private static void* __CopyValue(ParagraphComment.Internal native) + { + var ret = Marshal.AllocHGlobal(32); + CppSharp.Parser.AST.ParagraphComment.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ParagraphComment(ParagraphComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParagraphComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParagraphComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(32); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public ParagraphComment(CppSharp.Parser.AST.ParagraphComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(32); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.InlineContentComment getContent(uint i) + { + var __ret = Internal.getContent_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.InlineContentComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.InlineContentComment) CppSharp.Parser.AST.InlineContentComment.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.InlineContentComment.__CreateInstance(__ret); + return __result0; + } + + public void addContent(CppSharp.Parser.AST.InlineContentComment s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + Internal.addContent_0((__Instance + __PointerAdjustment), __arg0); + } + + public void clearContent() + { + Internal.clearContent_0((__Instance + __PointerAdjustment)); + } + + public uint ContentCount + { + get + { + var __ret = Internal.getContentCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public bool IsWhitespace + { + get + { + return ((Internal*) __Instance)->IsWhitespace != 0; + } + + set + { + ((Internal*) __Instance)->IsWhitespace = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class BlockCommandComment : CppSharp.Parser.AST.BlockContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [FieldOffset(4)] + public uint CommandId; + + [FieldOffset(8)] + public global::System.IntPtr ParagraphComment; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ENS1_11CommentKindE")] + internal static extern void ctor_1(global::System.IntPtr instance, CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12getArgumentsEj")] + internal static extern void getArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment12addArgumentsERNS2_8ArgumentE")] + 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="_ZN8CppSharp9CppParser3AST19BlockCommandComment14clearArgumentsEv")] + internal static extern void clearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment17getArgumentsCountEv")] + internal static extern uint getArgumentsCount_0(global::System.IntPtr instance); + } + + public unsafe partial class Argument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2ERKS3_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8Argument7getTextEv")] + internal static extern global::System.IntPtr getText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19BlockCommandComment8Argument7setTextEPKc")] + internal static extern void setText_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, Argument> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, Argument>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Argument(native.ToPointer(), skipVTables); + } + + public static Argument __CreateInstance(Argument.Internal native, bool skipVTables = false) + { + return new Argument(native, skipVTables); + } + + private static void* __CopyValue(Argument.Internal native) + { + var ret = Marshal.AllocHGlobal(32); + CppSharp.Parser.AST.BlockCommandComment.Argument.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Argument(Argument.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Argument(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Argument() + { + __Instance = Marshal.AllocHGlobal(32); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Argument(CppSharp.Parser.AST.BlockCommandComment.Argument _0) + { + __Instance = Marshal.AllocHGlobal(32); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.BlockCommandComment.Argument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string Text + { + get + { + var __ret = Internal.getText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setText_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + } + + public static new BlockCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new BlockCommandComment(native.ToPointer(), skipVTables); + } + + public static BlockCommandComment __CreateInstance(BlockCommandComment.Internal native, bool skipVTables = false) + { + return new BlockCommandComment(native, skipVTables); + } + + private static void* __CopyValue(BlockCommandComment.Internal native) + { + var ret = Marshal.AllocHGlobal(40); + CppSharp.Parser.AST.BlockCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private BlockCommandComment(BlockCommandComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected BlockCommandComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public BlockCommandComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public BlockCommandComment(CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __arg0 = Kind; + Internal.ctor_1((__Instance + __PointerAdjustment), __arg0); + } + + public BlockCommandComment(CppSharp.Parser.AST.BlockCommandComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.BlockCommandComment.Argument getArguments(uint i) + { + var __ret = new CppSharp.Parser.AST.BlockCommandComment.Argument.Internal(); + Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(__ret); + } + + public void addArguments(CppSharp.Parser.AST.BlockCommandComment.Argument s) + { + 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 uint CommandId + { + get + { + return ((Internal*) __Instance)->CommandId; + } + + set + { + ((Internal*) __Instance)->CommandId = value; + } + } + + public CppSharp.Parser.AST.ParagraphComment ParagraphComment + { + get + { + CppSharp.Parser.AST.ParagraphComment __result0; + if (((Internal*) __Instance)->ParagraphComment == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ParagraphComment)) + __result0 = (CppSharp.Parser.AST.ParagraphComment) CppSharp.Parser.AST.ParagraphComment.NativeToManagedMap[((Internal*) __Instance)->ParagraphComment]; + else __result0 = CppSharp.Parser.AST.ParagraphComment.__CreateInstance(((Internal*) __Instance)->ParagraphComment); + return __result0; + } + + set + { + ((Internal*) __Instance)->ParagraphComment = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ParamCommandComment : CppSharp.Parser.AST.BlockCommandComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [FieldOffset(4)] + public uint CommandId; + + [FieldOffset(8)] + public global::System.IntPtr ParagraphComment; + + [FieldOffset(40)] + public CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction; + + [FieldOffset(44)] + public uint ParamIndex; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19ParamCommandCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + } + + public enum PassDirection : uint + { + In = 0, + Out = 1, + InOut = 2 + } + + public static new ParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new ParamCommandComment(native.ToPointer(), skipVTables); + } + + public static ParamCommandComment __CreateInstance(ParamCommandComment.Internal native, bool skipVTables = false) + { + return new ParamCommandComment(native, skipVTables); + } + + private static void* __CopyValue(ParamCommandComment.Internal native) + { + var ret = Marshal.AllocHGlobal(48); + CppSharp.Parser.AST.ParamCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ParamCommandComment(ParamCommandComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParamCommandComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParamCommandComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(48); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public ParamCommandComment(CppSharp.Parser.AST.ParamCommandComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(48); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.ParamCommandComment.PassDirection Direction + { + get + { + return ((Internal*) __Instance)->Direction; + } + + set + { + ((Internal*) __Instance)->Direction = value; + } + } + + public uint ParamIndex + { + get + { + return ((Internal*) __Instance)->ParamIndex; + } + + set + { + ((Internal*) __Instance)->ParamIndex = value; + } + } + } + + public unsafe partial class TParamCommandComment : CppSharp.Parser.AST.BlockCommandComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [FieldOffset(4)] + public uint CommandId; + + [FieldOffset(8)] + public global::System.IntPtr ParagraphComment; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11getPositionEj")] + internal static extern uint getPosition_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment11addPositionERj")] + internal static extern void addPosition_0(global::System.IntPtr instance, uint* s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment13clearPositionEv")] + internal static extern void clearPosition_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20TParamCommandComment16getPositionCountEv")] + internal static extern uint getPositionCount_0(global::System.IntPtr instance); + } + + public static new TParamCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TParamCommandComment(native.ToPointer(), skipVTables); + } + + public static TParamCommandComment __CreateInstance(TParamCommandComment.Internal native, bool skipVTables = false) + { + return new TParamCommandComment(native, skipVTables); + } + + private static void* __CopyValue(TParamCommandComment.Internal native) + { + var ret = Marshal.AllocHGlobal(64); + CppSharp.Parser.AST.TParamCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TParamCommandComment(TParamCommandComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TParamCommandComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TParamCommandComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(64); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public TParamCommandComment(CppSharp.Parser.AST.TParamCommandComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(64); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public uint getPosition(uint i) + { + var __ret = Internal.getPosition_0((__Instance + __PointerAdjustment), i); + return __ret; + } + + public void addPosition(ref uint s) + { + fixed (uint* __refParamPtr0 = &s) + { + var __arg0 = __refParamPtr0; + Internal.addPosition_0((__Instance + __PointerAdjustment), __arg0); + } + } + + public void clearPosition() + { + Internal.clearPosition_0((__Instance + __PointerAdjustment)); + } + + public uint PositionCount + { + get + { + var __ret = Internal.getPositionCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class VerbatimBlockLineComment : CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineComment7getTextEv")] + internal static extern global::System.IntPtr getText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST24VerbatimBlockLineComment7setTextEPKc")] + internal static extern void setText_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public static new VerbatimBlockLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new VerbatimBlockLineComment(native.ToPointer(), skipVTables); + } + + public static VerbatimBlockLineComment __CreateInstance(VerbatimBlockLineComment.Internal native, bool skipVTables = false) + { + return new VerbatimBlockLineComment(native, skipVTables); + } + + private static void* __CopyValue(VerbatimBlockLineComment.Internal native) + { + var ret = Marshal.AllocHGlobal(40); + CppSharp.Parser.AST.VerbatimBlockLineComment.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private VerbatimBlockLineComment(VerbatimBlockLineComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected VerbatimBlockLineComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public VerbatimBlockLineComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public VerbatimBlockLineComment(CppSharp.Parser.AST.VerbatimBlockLineComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string Text + { + get + { + var __ret = Internal.getText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setText_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + } + + public unsafe partial class VerbatimBlockComment : CppSharp.Parser.AST.BlockCommandComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [FieldOffset(4)] + public uint CommandId; + + [FieldOffset(8)] + public global::System.IntPtr ParagraphComment; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2ERKS2_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8getLinesEj")] + internal static extern global::System.IntPtr getLines_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8addLinesERPNS1_24VerbatimBlockLineCommentE")] + internal static extern void addLines_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment10clearLinesEv")] + internal static extern void clearLines_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20VerbatimBlockComment13getLinesCountEv")] + internal static extern uint getLinesCount_0(global::System.IntPtr instance); + } + + public static new VerbatimBlockComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new VerbatimBlockComment(native.ToPointer(), skipVTables); + } + + public static VerbatimBlockComment __CreateInstance(VerbatimBlockComment.Internal native, bool skipVTables = false) + { + return new VerbatimBlockComment(native, skipVTables); + } + + private static void* __CopyValue(VerbatimBlockComment.Internal native) + { + var ret = Marshal.AllocHGlobal(64); + CppSharp.Parser.AST.VerbatimBlockComment.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private VerbatimBlockComment(VerbatimBlockComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected VerbatimBlockComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public VerbatimBlockComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(64); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public VerbatimBlockComment(CppSharp.Parser.AST.VerbatimBlockComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(64); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.VerbatimBlockLineComment getLines(uint i) + { + var __ret = Internal.getLines_0((__Instance + __PointerAdjustment), i); + CppSharp.Parser.AST.VerbatimBlockLineComment __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.AST.VerbatimBlockLineComment) CppSharp.Parser.AST.VerbatimBlockLineComment.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.AST.VerbatimBlockLineComment.__CreateInstance(__ret); + return __result0; + } + + public void addLines(CppSharp.Parser.AST.VerbatimBlockLineComment s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + Internal.addLines_0((__Instance + __PointerAdjustment), __arg0); + } + + public void clearLines() + { + Internal.clearLines_0((__Instance + __PointerAdjustment)); + } + + public uint LinesCount + { + get + { + var __ret = Internal.getLinesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class VerbatimLineComment : CppSharp.Parser.AST.BlockCommandComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [FieldOffset(4)] + public uint CommandId; + + [FieldOffset(8)] + public global::System.IntPtr ParagraphComment; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineComment7getTextEv")] + internal static extern global::System.IntPtr getText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19VerbatimLineComment7setTextEPKc")] + internal static extern void setText_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public static new VerbatimLineComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new VerbatimLineComment(native.ToPointer(), skipVTables); + } + + public static VerbatimLineComment __CreateInstance(VerbatimLineComment.Internal native, bool skipVTables = false) + { + return new VerbatimLineComment(native, skipVTables); + } + + private static void* __CopyValue(VerbatimLineComment.Internal native) + { + var ret = Marshal.AllocHGlobal(72); + CppSharp.Parser.AST.VerbatimLineComment.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private VerbatimLineComment(VerbatimLineComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected VerbatimLineComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public VerbatimLineComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(72); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public VerbatimLineComment(CppSharp.Parser.AST.VerbatimLineComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(72); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string Text + { + get + { + var __ret = Internal.getText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setText_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + } + + public unsafe partial class InlineCommandComment : CppSharp.Parser.AST.InlineContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [FieldOffset(4)] + public byte HasTrailingNewline; + + [FieldOffset(8)] + public uint CommandId; + + [FieldOffset(12)] + public CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12getArgumentsEj")] + internal static extern void getArguments_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment12addArgumentsERNS2_8ArgumentE")] + 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="_ZN8CppSharp9CppParser3AST20InlineCommandComment14clearArgumentsEv")] + internal static extern void clearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment17getArgumentsCountEv")] + internal static extern uint getArgumentsCount_0(global::System.IntPtr instance); + } + + public enum RenderKind : uint + { + RenderNormal = 0, + RenderBold = 1, + RenderMonospaced = 2, + RenderEmphasized = 3 + } + + public unsafe partial class Argument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public partial struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2ERKS3_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8Argument7getTextEv")] + internal static extern global::System.IntPtr getText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST20InlineCommandComment8Argument7setTextEPKc")] + internal static extern void setText_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, Argument> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, Argument>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static Argument __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Argument(native.ToPointer(), skipVTables); + } + + public static Argument __CreateInstance(Argument.Internal native, bool skipVTables = false) + { + return new Argument(native, skipVTables); + } + + private static void* __CopyValue(Argument.Internal native) + { + var ret = Marshal.AllocHGlobal(32); + CppSharp.Parser.AST.InlineCommandComment.Argument.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Argument(Argument.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Argument(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Argument() + { + __Instance = Marshal.AllocHGlobal(32); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Argument(CppSharp.Parser.AST.InlineCommandComment.Argument _0) + { + __Instance = Marshal.AllocHGlobal(32); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.InlineCommandComment.Argument __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string Text + { + get + { + var __ret = Internal.getText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setText_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + } + + public static new InlineCommandComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new InlineCommandComment(native.ToPointer(), skipVTables); + } + + public static InlineCommandComment __CreateInstance(InlineCommandComment.Internal native, bool skipVTables = false) + { + return new InlineCommandComment(native, skipVTables); + } + + private static void* __CopyValue(InlineCommandComment.Internal native) + { + var ret = Marshal.AllocHGlobal(40); + CppSharp.Parser.AST.InlineCommandComment.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private InlineCommandComment(InlineCommandComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected InlineCommandComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public InlineCommandComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public InlineCommandComment(CppSharp.Parser.AST.InlineCommandComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.InlineCommandComment.Argument getArguments(uint i) + { + var __ret = new CppSharp.Parser.AST.InlineCommandComment.Argument.Internal(); + Internal.getArguments_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(__ret); + } + + public void addArguments(CppSharp.Parser.AST.InlineCommandComment.Argument s) + { + 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 uint CommandId + { + get + { + return ((Internal*) __Instance)->CommandId; + } + + set + { + ((Internal*) __Instance)->CommandId = value; + } + } + + public CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind + { + get + { + return ((Internal*) __Instance)->CommentRenderKind; + } + + set + { + ((Internal*) __Instance)->CommentRenderKind = value; + } + } + } + + public unsafe partial class HTMLTagComment : CppSharp.Parser.AST.InlineContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [FieldOffset(4)] + public byte HasTrailingNewline; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ENS1_11CommentKindE")] + internal static extern void ctor_1(global::System.IntPtr instance, CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + public static new HTMLTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new HTMLTagComment(native.ToPointer(), skipVTables); + } + + public static HTMLTagComment __CreateInstance(HTMLTagComment.Internal native, bool skipVTables = false) + { + return new HTMLTagComment(native, skipVTables); + } + + private static void* __CopyValue(HTMLTagComment.Internal native) + { + var ret = Marshal.AllocHGlobal(8); + *(HTMLTagComment.Internal*) ret = native; + return ret.ToPointer(); + } + + private HTMLTagComment(HTMLTagComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected HTMLTagComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public HTMLTagComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(8); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public HTMLTagComment(CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(8); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + var __arg0 = Kind; + Internal.ctor_1((__Instance + __PointerAdjustment), __arg0); + } + + public HTMLTagComment(CppSharp.Parser.AST.HTMLTagComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(8); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((HTMLTagComment.Internal*) __Instance) = *((HTMLTagComment.Internal*) _0.__Instance); + } + } + + public unsafe partial class HTMLStartTagComment : CppSharp.Parser.AST.HTMLTagComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [FieldOffset(4)] + public byte HasTrailingNewline; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13getAttributesEj")] + internal static extern void getAttributes_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13addAttributesERNS2_9AttributeE")] + internal static extern void addAttributes_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment15clearAttributesEv")] + internal static extern void clearAttributes_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment10getTagNameEv")] + internal static extern global::System.IntPtr getTagName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment10setTagNameEPKc")] + internal static extern void setTagName_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv")] + internal static extern uint getAttributesCount_0(global::System.IntPtr instance); + } + + public unsafe partial class Attribute : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2ERKS3_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute7getNameEv")] + internal static extern global::System.IntPtr getName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute7setNameEPKc")] + internal static extern void setName_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute8getValueEv")] + internal static extern global::System.IntPtr getValue_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute8setValueEPKc")] + internal static extern void setValue_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, Attribute> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, Attribute>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static Attribute __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new Attribute(native.ToPointer(), skipVTables); + } + + public static Attribute __CreateInstance(Attribute.Internal native, bool skipVTables = false) + { + return new Attribute(native, skipVTables); + } + + private static void* __CopyValue(Attribute.Internal native) + { + var ret = Marshal.AllocHGlobal(64); + CppSharp.Parser.AST.HTMLStartTagComment.Attribute.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private Attribute(Attribute.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected Attribute(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public Attribute() + { + __Instance = Marshal.AllocHGlobal(64); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public Attribute(CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + { + __Instance = Marshal.AllocHGlobal(64); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.HTMLStartTagComment.Attribute __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string Name + { + get + { + var __ret = Internal.getName_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setName_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public string Value + { + get + { + var __ret = Internal.getValue_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setValue_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + } + + public static new HTMLStartTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new HTMLStartTagComment(native.ToPointer(), skipVTables); + } + + public static HTMLStartTagComment __CreateInstance(HTMLStartTagComment.Internal native, bool skipVTables = false) + { + return new HTMLStartTagComment(native, skipVTables); + } + + private static void* __CopyValue(HTMLStartTagComment.Internal native) + { + var ret = Marshal.AllocHGlobal(64); + CppSharp.Parser.AST.HTMLStartTagComment.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private HTMLStartTagComment(HTMLStartTagComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected HTMLStartTagComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public HTMLStartTagComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(64); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public HTMLStartTagComment(CppSharp.Parser.AST.HTMLStartTagComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(64); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.AST.HTMLStartTagComment.Attribute getAttributes(uint i) + { + var __ret = new CppSharp.Parser.AST.HTMLStartTagComment.Attribute.Internal(); + Internal.getAttributes_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(__ret); + } + + public void addAttributes(CppSharp.Parser.AST.HTMLStartTagComment.Attribute s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + Internal.addAttributes_0((__Instance + __PointerAdjustment), __arg0); + } + + public void clearAttributes() + { + Internal.clearAttributes_0((__Instance + __PointerAdjustment)); + } + + public string TagName + { + get + { + var __ret = Internal.getTagName_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public uint AttributesCount + { + get + { + var __ret = Internal.getAttributesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + } + + public unsafe partial class HTMLEndTagComment : CppSharp.Parser.AST.HTMLTagComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [FieldOffset(4)] + public byte HasTrailingNewline; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagComment10getTagNameEv")] + internal static extern global::System.IntPtr getTagName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST17HTMLEndTagComment10setTagNameEPKc")] + internal static extern void setTagName_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public static new HTMLEndTagComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new HTMLEndTagComment(native.ToPointer(), skipVTables); + } + + public static HTMLEndTagComment __CreateInstance(HTMLEndTagComment.Internal native, bool skipVTables = false) + { + return new HTMLEndTagComment(native, skipVTables); + } + + private static void* __CopyValue(HTMLEndTagComment.Internal native) + { + var ret = Marshal.AllocHGlobal(40); + CppSharp.Parser.AST.HTMLEndTagComment.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private HTMLEndTagComment(HTMLEndTagComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected HTMLEndTagComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public HTMLEndTagComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public HTMLEndTagComment(CppSharp.Parser.AST.HTMLEndTagComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string TagName + { + get + { + var __ret = Internal.getTagName_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setTagName_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + } + + public unsafe partial class TextComment : CppSharp.Parser.AST.InlineContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.CommentKind Kind; + + [FieldOffset(4)] + public byte HasTrailingNewline; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TextCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TextComment7getTextEv")] + internal static extern global::System.IntPtr getText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST11TextComment7setTextEPKc")] + internal static extern void setText_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public static new TextComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new TextComment(native.ToPointer(), skipVTables); + } + + public static TextComment __CreateInstance(TextComment.Internal native, bool skipVTables = false) + { + return new TextComment(native, skipVTables); + } + + private static void* __CopyValue(TextComment.Internal native) + { + var ret = Marshal.AllocHGlobal(40); + CppSharp.Parser.AST.TextComment.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private TextComment(TextComment.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected TextComment(void* native, bool skipVTables = false) + : base((void*) null) + { + __PointerAdjustment = 0; + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public TextComment() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public TextComment(CppSharp.Parser.AST.TextComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(40); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected override void Dispose(bool disposing) + { + CppSharp.Parser.AST.Comment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string Text + { + get + { + var __ret = Internal.getText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setText_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + } + + public unsafe partial class RawComment : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.AST.RawCommentKind Kind; + + [FieldOffset(72)] + public global::System.IntPtr FullCommentBlock; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", 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.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawCommentD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7getTextEv")] + internal static extern global::System.IntPtr getText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc")] + internal static extern void setText_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv")] + internal static extern global::System.IntPtr getBriefText_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc")] + internal static extern void setBriefText_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, RawComment> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, RawComment>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static RawComment __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new RawComment(native.ToPointer(), skipVTables); + } + + public static RawComment __CreateInstance(RawComment.Internal native, bool skipVTables = false) + { + return new RawComment(native, skipVTables); + } + + private static void* __CopyValue(RawComment.Internal native) + { + var ret = Marshal.AllocHGlobal(80); + CppSharp.Parser.AST.RawComment.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private RawComment(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(80); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public RawComment(CppSharp.Parser.AST.RawComment _0) + { + __Instance = Marshal.AllocHGlobal(80); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.AST.RawComment __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string Text + { + get + { + var __ret = Internal.getText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setText_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public string BriefText + { + get + { + var __ret = Internal.getBriefText_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setBriefText_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public CppSharp.Parser.AST.RawCommentKind Kind + { + get + { + return ((Internal*) __Instance)->Kind; + } + + set + { + ((Internal*) __Instance)->Kind = value; + } + } + + public CppSharp.Parser.AST.FullComment FullCommentBlock + { + get + { + CppSharp.Parser.AST.FullComment __result0; + if (((Internal*) __Instance)->FullCommentBlock == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.FullComment.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->FullCommentBlock)) + __result0 = (CppSharp.Parser.AST.FullComment) CppSharp.Parser.AST.FullComment.NativeToManagedMap[((Internal*) __Instance)->FullCommentBlock]; + else __result0 = CppSharp.Parser.AST.FullComment.__CreateInstance(((Internal*) __Instance)->FullCommentBlock); + return __result0; + } + + set + { + ((Internal*) __Instance)->FullCommentBlock = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + } + } +} diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppParser.cs new file mode 100644 index 00000000..1707b13b --- /dev/null +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppParser.cs @@ -0,0 +1,1207 @@ +//---------------------------------------------------------------------------- +// <auto-generated> +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// </auto-generated> +//---------------------------------------------------------------------------- +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace CppSharp +{ + namespace Parser + { + public enum LanguageVersion + { + /// <summary>The C programming language.</summary> + C = 0, + /// <summary>The C++ programming language year 1998; supports deprecated constructs.</summary> + CPlusPlus98 = 1, + /// <summary>The C++ programming language year 2011.</summary> + CPlusPlus11 = 2 + } + + public enum ParserDiagnosticLevel + { + Ignored = 0, + Note = 1, + Warning = 2, + Error = 3, + Fatal = 4 + } + + public enum ParserResultKind + { + Success = 0, + Error = 1, + FileNotFound = 2 + } + + public enum SourceLocationKind + { + Invalid = 0, + Builtin = 1, + CommandLine = 2, + System = 3, + User = 4 + } + + public unsafe partial class ParserOptions : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 272)] + public partial struct Internal + { + [FieldOffset(200)] + public global::System.IntPtr ASTContext; + + [FieldOffset(208)] + public int ToolSetToUse; + + [FieldOffset(248)] + public CppSharp.Parser.AST.CppAbi Abi; + + [FieldOffset(252)] + public byte NoStandardIncludes; + + [FieldOffset(253)] + public byte NoBuiltinIncludes; + + [FieldOffset(254)] + public byte MicrosoftMode; + + [FieldOffset(255)] + public byte Verbose; + + [FieldOffset(256)] + public CppSharp.Parser.LanguageVersion LanguageVersion; + + [FieldOffset(264)] + public global::System.IntPtr TargetInfo; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptionsC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptionsC2ERKS1_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptionsD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12getArgumentsEj")] + 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="_ZN8CppSharp9CppParser13ParserOptions12addArgumentsEPKc")] + 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="_ZN8CppSharp9CppParser13ParserOptions14clearArgumentsEv")] + internal static extern void clearArguments_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14getSourceFilesEj")] + internal static extern global::System.IntPtr getSourceFiles_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14addSourceFilesEPKc")] + internal static extern void addSourceFiles_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions16clearSourceFilesEv")] + internal static extern void clearSourceFiles_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14getIncludeDirsEj")] + internal static extern global::System.IntPtr getIncludeDirs_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14addIncludeDirsEPKc")] + internal static extern void addIncludeDirs_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions16clearIncludeDirsEv")] + internal static extern void clearIncludeDirs_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions20getSystemIncludeDirsEj")] + internal static extern global::System.IntPtr getSystemIncludeDirs_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions20addSystemIncludeDirsEPKc")] + internal static extern void addSystemIncludeDirs_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions22clearSystemIncludeDirsEv")] + internal static extern void clearSystemIncludeDirs_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions10getDefinesEj")] + internal static extern global::System.IntPtr getDefines_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions10addDefinesEPKc")] + internal static extern void addDefines_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12clearDefinesEv")] + internal static extern void clearDefines_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12getUndefinesEj")] + internal static extern global::System.IntPtr getUndefines_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions12addUndefinesEPKc")] + internal static extern void addUndefines_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14clearUndefinesEv")] + internal static extern void clearUndefines_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14getLibraryDirsEj")] + internal static extern global::System.IntPtr getLibraryDirs_0(global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14addLibraryDirsEPKc")] + internal static extern void addLibraryDirs_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions16clearLibraryDirsEv")] + internal static extern void clearLibraryDirs_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions17getArgumentsCountEv")] + internal static extern uint getArgumentsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14getLibraryFileEv")] + internal static extern global::System.IntPtr getLibraryFile_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions14setLibraryFileEPKc")] + internal static extern void setLibraryFile_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions19getSourceFilesCountEv")] + internal static extern uint getSourceFilesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions19getIncludeDirsCountEv")] + internal static extern uint getIncludeDirsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions25getSystemIncludeDirsCountEv")] + internal static extern uint getSystemIncludeDirsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions15getDefinesCountEv")] + internal static extern uint getDefinesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions17getUndefinesCountEv")] + internal static extern uint getUndefinesCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions19getLibraryDirsCountEv")] + internal static extern uint getLibraryDirsCount_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions15getTargetTripleEv")] + internal static extern global::System.IntPtr getTargetTriple_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser13ParserOptions15setTargetTripleEPKc")] + internal static extern void setTargetTriple_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, ParserOptions> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, ParserOptions>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static ParserOptions __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new ParserOptions(native.ToPointer(), skipVTables); + } + + public static ParserOptions __CreateInstance(ParserOptions.Internal native, bool skipVTables = false) + { + return new ParserOptions(native, skipVTables); + } + + private static void* __CopyValue(ParserOptions.Internal native) + { + var ret = Marshal.AllocHGlobal(272); + CppSharp.Parser.ParserOptions.Internal.cctor_2(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ParserOptions(ParserOptions.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParserOptions(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParserOptions() + { + __Instance = Marshal.AllocHGlobal(272); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public ParserOptions(CppSharp.Parser.ParserOptions _0) + { + __Instance = Marshal.AllocHGlobal(272); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.ParserOptions __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string getArguments(uint i) + { + var __ret = Internal.getArguments_0((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void addArguments(string s) + { + var __arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addArguments_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + + public void clearArguments() + { + Internal.clearArguments_0((__Instance + __PointerAdjustment)); + } + + public string getSourceFiles(uint i) + { + var __ret = Internal.getSourceFiles_0((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void addSourceFiles(string s) + { + var __arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addSourceFiles_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + + public void clearSourceFiles() + { + Internal.clearSourceFiles_0((__Instance + __PointerAdjustment)); + } + + public string getIncludeDirs(uint i) + { + var __ret = Internal.getIncludeDirs_0((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void addIncludeDirs(string s) + { + var __arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addIncludeDirs_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + + public void clearIncludeDirs() + { + Internal.clearIncludeDirs_0((__Instance + __PointerAdjustment)); + } + + public string getSystemIncludeDirs(uint i) + { + var __ret = Internal.getSystemIncludeDirs_0((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void addSystemIncludeDirs(string s) + { + var __arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addSystemIncludeDirs_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + + public void clearSystemIncludeDirs() + { + Internal.clearSystemIncludeDirs_0((__Instance + __PointerAdjustment)); + } + + public string getDefines(uint i) + { + var __ret = Internal.getDefines_0((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void addDefines(string s) + { + var __arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addDefines_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + + public void clearDefines() + { + Internal.clearDefines_0((__Instance + __PointerAdjustment)); + } + + public string getUndefines(uint i) + { + var __ret = Internal.getUndefines_0((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void addUndefines(string s) + { + var __arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addUndefines_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + + public void clearUndefines() + { + Internal.clearUndefines_0((__Instance + __PointerAdjustment)); + } + + public string getLibraryDirs(uint i) + { + var __ret = Internal.getLibraryDirs_0((__Instance + __PointerAdjustment), i); + return Marshal.PtrToStringAnsi(__ret); + } + + public void addLibraryDirs(string s) + { + var __arg0 = Marshal.StringToHGlobalAnsi(s); + Internal.addLibraryDirs_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + + public void clearLibraryDirs() + { + Internal.clearLibraryDirs_0((__Instance + __PointerAdjustment)); + } + + public uint ArgumentsCount + { + get + { + var __ret = Internal.getArgumentsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public string LibraryFile + { + get + { + var __ret = Internal.getLibraryFile_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setLibraryFile_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public uint SourceFilesCount + { + get + { + var __ret = Internal.getSourceFilesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint IncludeDirsCount + { + get + { + var __ret = Internal.getIncludeDirsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint SystemIncludeDirsCount + { + get + { + var __ret = Internal.getSystemIncludeDirsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint DefinesCount + { + get + { + var __ret = Internal.getDefinesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint UndefinesCount + { + get + { + var __ret = Internal.getUndefinesCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public uint LibraryDirsCount + { + get + { + var __ret = Internal.getLibraryDirsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public string TargetTriple + { + get + { + var __ret = Internal.getTargetTriple_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setTargetTriple_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public CppSharp.Parser.AST.ASTContext ASTContext + { + get + { + CppSharp.Parser.AST.ASTContext __result0; + if (((Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ASTContext)) + __result0 = (CppSharp.Parser.AST.ASTContext) CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((Internal*) __Instance)->ASTContext]; + else __result0 = CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext); + return __result0; + } + + set + { + ((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public int ToolSetToUse + { + get + { + return ((Internal*) __Instance)->ToolSetToUse; + } + + set + { + ((Internal*) __Instance)->ToolSetToUse = value; + } + } + + public CppSharp.Parser.AST.CppAbi Abi + { + get + { + return ((Internal*) __Instance)->Abi; + } + + set + { + ((Internal*) __Instance)->Abi = value; + } + } + + public bool NoStandardIncludes + { + get + { + return ((Internal*) __Instance)->NoStandardIncludes != 0; + } + + set + { + ((Internal*) __Instance)->NoStandardIncludes = (byte) (value ? 1 : 0); + } + } + + public bool NoBuiltinIncludes + { + get + { + return ((Internal*) __Instance)->NoBuiltinIncludes != 0; + } + + set + { + ((Internal*) __Instance)->NoBuiltinIncludes = (byte) (value ? 1 : 0); + } + } + + public bool MicrosoftMode + { + get + { + return ((Internal*) __Instance)->MicrosoftMode != 0; + } + + set + { + ((Internal*) __Instance)->MicrosoftMode = (byte) (value ? 1 : 0); + } + } + + public bool Verbose + { + get + { + return ((Internal*) __Instance)->Verbose != 0; + } + + set + { + ((Internal*) __Instance)->Verbose = (byte) (value ? 1 : 0); + } + } + + public CppSharp.Parser.LanguageVersion LanguageVersion + { + get + { + return ((Internal*) __Instance)->LanguageVersion; + } + + set + { + ((Internal*) __Instance)->LanguageVersion = value; + } + } + + public CppSharp.Parser.ParserTargetInfo TargetInfo + { + get + { + CppSharp.Parser.ParserTargetInfo __result0; + if (((Internal*) __Instance)->TargetInfo == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->TargetInfo)) + __result0 = (CppSharp.Parser.ParserTargetInfo) CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[((Internal*) __Instance)->TargetInfo]; + else __result0 = CppSharp.Parser.ParserTargetInfo.__CreateInstance(((Internal*) __Instance)->TargetInfo); + return __result0; + } + + set + { + ((Internal*) __Instance)->TargetInfo = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ParserDiagnostic : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public partial struct Internal + { + [FieldOffset(64)] + public CppSharp.Parser.ParserDiagnosticLevel Level; + + [FieldOffset(68)] + public int LineNumber; + + [FieldOffset(72)] + public int ColumnNumber; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnosticC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnosticC2ERKS1_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnosticD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnostic11getFileNameEv")] + internal static extern global::System.IntPtr getFileName_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnostic11setFileNameEPKc")] + internal static extern void setFileName_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnostic10getMessageEv")] + internal static extern global::System.IntPtr getMessage_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserDiagnostic10setMessageEPKc")] + internal static extern void setMessage_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, ParserDiagnostic> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, ParserDiagnostic>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static ParserDiagnostic __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new ParserDiagnostic(native.ToPointer(), skipVTables); + } + + public static ParserDiagnostic __CreateInstance(ParserDiagnostic.Internal native, bool skipVTables = false) + { + return new ParserDiagnostic(native, skipVTables); + } + + private static void* __CopyValue(ParserDiagnostic.Internal native) + { + var ret = Marshal.AllocHGlobal(80); + CppSharp.Parser.ParserDiagnostic.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ParserDiagnostic(ParserDiagnostic.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParserDiagnostic(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParserDiagnostic() + { + __Instance = Marshal.AllocHGlobal(80); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public ParserDiagnostic(CppSharp.Parser.ParserDiagnostic _0) + { + __Instance = Marshal.AllocHGlobal(80); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.ParserDiagnostic __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string FileName + { + get + { + var __ret = Internal.getFileName_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setFileName_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public string Message + { + get + { + var __ret = Internal.getMessage_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setMessage_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public CppSharp.Parser.ParserDiagnosticLevel Level + { + get + { + return ((Internal*) __Instance)->Level; + } + + set + { + ((Internal*) __Instance)->Level = value; + } + } + + public int LineNumber + { + get + { + return ((Internal*) __Instance)->LineNumber; + } + + set + { + ((Internal*) __Instance)->LineNumber = value; + } + } + + public int ColumnNumber + { + get + { + return ((Internal*) __Instance)->ColumnNumber; + } + + set + { + ((Internal*) __Instance)->ColumnNumber = value; + } + } + } + + public unsafe partial class ParserResult : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public partial struct Internal + { + [FieldOffset(0)] + public CppSharp.Parser.ParserResultKind Kind; + + [FieldOffset(32)] + public global::System.IntPtr ASTContext; + + [FieldOffset(40)] + public global::System.IntPtr Library; + + [FieldOffset(48)] + public global::System.IntPtr CodeParser; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser12ParserResultC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser12ParserResultC2ERKS1_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser12ParserResultD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser12ParserResult14getDiagnosticsEj")] + internal static extern void getDiagnostics_0(global::System.IntPtr @return, global::System.IntPtr instance, uint i); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser12ParserResult14addDiagnosticsERNS0_16ParserDiagnosticE")] + internal static extern void addDiagnostics_0(global::System.IntPtr instance, global::System.IntPtr s); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser12ParserResult16clearDiagnosticsEv")] + internal static extern void clearDiagnostics_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser12ParserResult19getDiagnosticsCountEv")] + internal static extern uint getDiagnosticsCount_0(global::System.IntPtr instance); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, ParserResult> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, ParserResult>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static ParserResult __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new ParserResult(native.ToPointer(), skipVTables); + } + + public static ParserResult __CreateInstance(ParserResult.Internal native, bool skipVTables = false) + { + return new ParserResult(native, skipVTables); + } + + private static void* __CopyValue(ParserResult.Internal native) + { + var ret = Marshal.AllocHGlobal(56); + CppSharp.Parser.ParserResult.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ParserResult(ParserResult.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParserResult(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParserResult() + { + __Instance = Marshal.AllocHGlobal(56); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public ParserResult(CppSharp.Parser.ParserResult _0) + { + __Instance = Marshal.AllocHGlobal(56); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.ParserResult __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public CppSharp.Parser.ParserDiagnostic getDiagnostics(uint i) + { + var __ret = new CppSharp.Parser.ParserDiagnostic.Internal(); + Internal.getDiagnostics_0(new IntPtr(&__ret), (__Instance + __PointerAdjustment), i); + return CppSharp.Parser.ParserDiagnostic.__CreateInstance(__ret); + } + + public void addDiagnostics(CppSharp.Parser.ParserDiagnostic s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + Internal.addDiagnostics_0((__Instance + __PointerAdjustment), __arg0); + } + + public void clearDiagnostics() + { + Internal.clearDiagnostics_0((__Instance + __PointerAdjustment)); + } + + public uint DiagnosticsCount + { + get + { + var __ret = Internal.getDiagnosticsCount_0((__Instance + __PointerAdjustment)); + return __ret; + } + } + + public CppSharp.Parser.ParserResultKind Kind + { + get + { + return ((Internal*) __Instance)->Kind; + } + + set + { + ((Internal*) __Instance)->Kind = value; + } + } + + public CppSharp.Parser.AST.ASTContext ASTContext + { + get + { + CppSharp.Parser.AST.ASTContext __result0; + if (((Internal*) __Instance)->ASTContext == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.ASTContext.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->ASTContext)) + __result0 = (CppSharp.Parser.AST.ASTContext) CppSharp.Parser.AST.ASTContext.NativeToManagedMap[((Internal*) __Instance)->ASTContext]; + else __result0 = CppSharp.Parser.AST.ASTContext.__CreateInstance(((Internal*) __Instance)->ASTContext); + return __result0; + } + + set + { + ((Internal*) __Instance)->ASTContext = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + + public CppSharp.Parser.AST.NativeLibrary Library + { + get + { + CppSharp.Parser.AST.NativeLibrary __result0; + if (((Internal*) __Instance)->Library == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap.ContainsKey(((Internal*) __Instance)->Library)) + __result0 = (CppSharp.Parser.AST.NativeLibrary) CppSharp.Parser.AST.NativeLibrary.NativeToManagedMap[((Internal*) __Instance)->Library]; + else __result0 = CppSharp.Parser.AST.NativeLibrary.__CreateInstance(((Internal*) __Instance)->Library); + return __result0; + } + + set + { + ((Internal*) __Instance)->Library = ReferenceEquals(value, null) ? global::System.IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ClangParser : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 0)] + public partial struct Internal + { + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11ClangParserC2ERKS1_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11ClangParser11ParseHeaderEPNS0_13ParserOptionsE")] + internal static extern global::System.IntPtr ParseHeader_0(global::System.IntPtr Opts); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11ClangParser12ParseLibraryEPNS0_13ParserOptionsE")] + internal static extern global::System.IntPtr ParseLibrary_0(global::System.IntPtr Opts); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser11ClangParser13GetTargetInfoEPNS0_13ParserOptionsE")] + internal static extern global::System.IntPtr GetTargetInfo_0(global::System.IntPtr Opts); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, ClangParser> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, ClangParser>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static ClangParser __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new ClangParser(native.ToPointer(), skipVTables); + } + + public static ClangParser __CreateInstance(ClangParser.Internal native, bool skipVTables = false) + { + return new ClangParser(native, skipVTables); + } + + private static void* __CopyValue(ClangParser.Internal native) + { + var ret = Marshal.AllocHGlobal(0); + *(ClangParser.Internal*) ret = native; + return ret.ToPointer(); + } + + private ClangParser(ClangParser.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ClangParser(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ClangParser() + { + __Instance = Marshal.AllocHGlobal(0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + public ClangParser(CppSharp.Parser.ClangParser _0) + { + __Instance = Marshal.AllocHGlobal(0); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + *((ClangParser.Internal*) __Instance) = *((ClangParser.Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.ClangParser __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public static CppSharp.Parser.ParserResult ParseHeader(CppSharp.Parser.ParserOptions Opts) + { + var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance; + var __ret = Internal.ParseHeader_0(__arg0); + CppSharp.Parser.ParserResult __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.ParserResult.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.ParserResult) CppSharp.Parser.ParserResult.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.ParserResult.__CreateInstance(__ret); + return __result0; + } + + public static CppSharp.Parser.ParserResult ParseLibrary(CppSharp.Parser.ParserOptions Opts) + { + var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance; + var __ret = Internal.ParseLibrary_0(__arg0); + CppSharp.Parser.ParserResult __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.ParserResult.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.ParserResult) CppSharp.Parser.ParserResult.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.ParserResult.__CreateInstance(__ret); + return __result0; + } + + public static CppSharp.Parser.ParserTargetInfo GetTargetInfo(CppSharp.Parser.ParserOptions Opts) + { + var __arg0 = ReferenceEquals(Opts, null) ? global::System.IntPtr.Zero : Opts.__Instance; + var __ret = Internal.GetTargetInfo_0(__arg0); + CppSharp.Parser.ParserTargetInfo __result0; + if (__ret == IntPtr.Zero) __result0 = null; + else if (CppSharp.Parser.ParserTargetInfo.NativeToManagedMap.ContainsKey(__ret)) + __result0 = (CppSharp.Parser.ParserTargetInfo) CppSharp.Parser.ParserTargetInfo.NativeToManagedMap[__ret]; + else __result0 = CppSharp.Parser.ParserTargetInfo.__CreateInstance(__ret); + return __result0; + } + } + } +} diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.dll-templates.cpp b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.dll-templates.cpp new file mode 100644 index 00000000..021e4448 --- /dev/null +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/CppSharp.CppParser.dll-templates.cpp @@ -0,0 +1,29 @@ +#include <AST.h> +#include <Sources.h> +#include <CppParser.h> + +template class vector<CppSharp::CppParser::AST::Namespace*>; +template class vector<CppSharp::CppParser::AST::Enumeration*>; +template class vector<CppSharp::CppParser::AST::Function*>; +template class vector<CppSharp::CppParser::AST::Class*>; +template class vector<CppSharp::CppParser::AST::Template*>; +template class vector<CppSharp::CppParser::AST::TypedefDecl*>; +template class vector<CppSharp::CppParser::AST::TypeAlias*>; +template class vector<CppSharp::CppParser::AST::Variable*>; +template class vector<CppSharp::CppParser::AST::Friend*>; +template class vector<CppSharp::CppParser::AST::BaseClassSpecifier*>; +template class vector<CppSharp::CppParser::AST::Field*>; +template class vector<CppSharp::CppParser::AST::Method*>; +template class vector<CppSharp::CppParser::AST::AccessSpecifierDecl*>; +template class vector<CppSharp::CppParser::AST::Declaration*>; +template class vector<CppSharp::CppParser::AST::FunctionTemplateSpecialization*>; +template class vector<CppSharp::CppParser::AST::Parameter*>; +template class vector<CppSharp::CppParser::AST::ClassTemplateSpecialization*>; +template class vector<CppSharp::CppParser::AST::Enumeration::Item*>; +template class vector<CppSharp::CppParser::AST::BlockContentComment*>; +template class vector<CppSharp::CppParser::AST::PreprocessedEntity*>; +template class vector<CppSharp::CppParser::AST::Expression*>; +template class vector<CppSharp::CppParser::AST::MacroDefinition*>; +template class vector<CppSharp::CppParser::AST::TranslationUnit*>; +template class vector<CppSharp::CppParser::AST::InlineContentComment*>; +template class vector<CppSharp::CppParser::AST::VerbatimBlockLineComment*>; \ No newline at end of file diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Sources.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Sources.cs new file mode 100644 index 00000000..f088944b --- /dev/null +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Sources.cs @@ -0,0 +1,97 @@ +//---------------------------------------------------------------------------- +// <auto-generated> +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// </auto-generated> +//---------------------------------------------------------------------------- +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace CppSharp +{ + namespace Parser + { + public unsafe partial struct SourceLocation + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public partial struct Internal + { + [FieldOffset(0)] + public uint ID; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2Ej")] + internal static extern void ctor_1(global::System.IntPtr instance, uint ID); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser14SourceLocationC2ERKS1_")] + internal static extern void cctor_2(global::System.IntPtr instance, global::System.IntPtr _0); + } + + private SourceLocation.Internal __instance; + public SourceLocation.Internal __Instance { get { return __instance; } } + + public static SourceLocation __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new SourceLocation(native.ToPointer(), skipVTables); + } + + public static SourceLocation __CreateInstance(SourceLocation.Internal native, bool skipVTables = false) + { + return new SourceLocation(native, skipVTables); + } + + private SourceLocation(SourceLocation.Internal native, bool skipVTables = false) + : this() + { + __instance = native; + } + + private SourceLocation(void* native, bool skipVTables = false) : this() + { + __instance = *(Internal*) native; + } + + public SourceLocation(uint ID) + : this() + { + fixed (Internal* __instancePtr = &__instance) + { + Internal.ctor_1(new global::System.IntPtr(__instancePtr), ID); + } + } + + public SourceLocation(CppSharp.Parser.SourceLocation _0) + : this() + { + var ____arg0 = _0.__Instance; + var __arg0 = new global::System.IntPtr(&____arg0); + fixed (Internal* __instancePtr = &__instance) + { + Internal.cctor_2(new global::System.IntPtr(__instancePtr), __arg0); + } + } + + public uint ID + { + get + { + return __instance.ID; + } + + set + { + __instance.ID = value; + } + } + } + } +} diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Target.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Target.cs new file mode 100644 index 00000000..7dfd2c4d --- /dev/null +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Target.cs @@ -0,0 +1,758 @@ +//---------------------------------------------------------------------------- +// <auto-generated> +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// </auto-generated> +//---------------------------------------------------------------------------- +using System; +using System.Runtime.InteropServices; +using System.Security; + +namespace CppSharp +{ + namespace Parser + { + public enum ParserIntType + { + NoInt = 0, + SignedChar = 1, + UnsignedChar = 2, + SignedShort = 3, + UnsignedShort = 4, + SignedInt = 5, + UnsignedInt = 6, + SignedLong = 7, + UnsignedLong = 8, + SignedLongLong = 9, + UnsignedLongLong = 10 + } + + public unsafe partial class ParserTargetInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 184)] + public partial struct Internal + { + [FieldOffset(32)] + public CppSharp.Parser.ParserIntType Char16Type; + + [FieldOffset(36)] + public CppSharp.Parser.ParserIntType Char32Type; + + [FieldOffset(40)] + public CppSharp.Parser.ParserIntType Int64Type; + + [FieldOffset(44)] + public CppSharp.Parser.ParserIntType IntMaxType; + + [FieldOffset(48)] + public CppSharp.Parser.ParserIntType IntPtrType; + + [FieldOffset(52)] + public CppSharp.Parser.ParserIntType SizeType; + + [FieldOffset(56)] + public CppSharp.Parser.ParserIntType UIntMaxType; + + [FieldOffset(60)] + public CppSharp.Parser.ParserIntType WCharType; + + [FieldOffset(64)] + public CppSharp.Parser.ParserIntType WIntType; + + [FieldOffset(68)] + public uint BoolAlign; + + [FieldOffset(72)] + public uint BoolWidth; + + [FieldOffset(76)] + public uint CharAlign; + + [FieldOffset(80)] + public uint CharWidth; + + [FieldOffset(84)] + public uint Char16Align; + + [FieldOffset(88)] + public uint Char16Width; + + [FieldOffset(92)] + public uint Char32Align; + + [FieldOffset(96)] + public uint Char32Width; + + [FieldOffset(100)] + public uint HalfAlign; + + [FieldOffset(104)] + public uint HalfWidth; + + [FieldOffset(108)] + public uint FloatAlign; + + [FieldOffset(112)] + public uint FloatWidth; + + [FieldOffset(116)] + public uint DoubleAlign; + + [FieldOffset(120)] + public uint DoubleWidth; + + [FieldOffset(124)] + public uint ShortAlign; + + [FieldOffset(128)] + public uint ShortWidth; + + [FieldOffset(132)] + public uint IntAlign; + + [FieldOffset(136)] + public uint IntWidth; + + [FieldOffset(140)] + public uint IntMaxTWidth; + + [FieldOffset(144)] + public uint LongAlign; + + [FieldOffset(148)] + public uint LongWidth; + + [FieldOffset(152)] + public uint LongDoubleAlign; + + [FieldOffset(156)] + public uint LongDoubleWidth; + + [FieldOffset(160)] + public uint LongLongAlign; + + [FieldOffset(164)] + public uint LongLongWidth; + + [FieldOffset(168)] + public uint PointerAlign; + + [FieldOffset(172)] + public uint PointerWidth; + + [FieldOffset(176)] + public uint WCharAlign; + + [FieldOffset(180)] + public uint WCharWidth; + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserTargetInfoC2Ev")] + internal static extern void ctor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserTargetInfoC2ERKS1_")] + internal static extern void cctor_1(global::System.IntPtr instance, global::System.IntPtr _0); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserTargetInfoD2Ev")] + internal static extern void dtor_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserTargetInfo6getABIEv")] + internal static extern global::System.IntPtr getABI_0(global::System.IntPtr instance); + + [SuppressUnmanagedCodeSecurity] + [DllImport("CppSharp.CppParser.dll", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, + EntryPoint="_ZN8CppSharp9CppParser16ParserTargetInfo6setABIEPKc")] + internal static extern void setABI_0(global::System.IntPtr instance, global::System.IntPtr s); + } + + public global::System.IntPtr __Instance { get; protected set; } + + protected int __PointerAdjustment; + public static readonly System.Collections.Concurrent.ConcurrentDictionary<IntPtr, ParserTargetInfo> NativeToManagedMap = new System.Collections.Concurrent.ConcurrentDictionary<IntPtr, ParserTargetInfo>(); + protected void*[] __OriginalVTables; + + protected bool __ownsNativeInstance; + + public static ParserTargetInfo __CreateInstance(global::System.IntPtr native, bool skipVTables = false) + { + return new ParserTargetInfo(native.ToPointer(), skipVTables); + } + + public static ParserTargetInfo __CreateInstance(ParserTargetInfo.Internal native, bool skipVTables = false) + { + return new ParserTargetInfo(native, skipVTables); + } + + private static void* __CopyValue(ParserTargetInfo.Internal native) + { + var ret = Marshal.AllocHGlobal(184); + CppSharp.Parser.ParserTargetInfo.Internal.cctor_1(ret, new global::System.IntPtr(&native)); + return ret.ToPointer(); + } + + private ParserTargetInfo(ParserTargetInfo.Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + } + + protected ParserTargetInfo(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new global::System.IntPtr(native); + } + + public ParserTargetInfo() + { + __Instance = Marshal.AllocHGlobal(184); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + Internal.ctor_0((__Instance + __PointerAdjustment)); + } + + public ParserTargetInfo(CppSharp.Parser.ParserTargetInfo _0) + { + __Instance = Marshal.AllocHGlobal(184); + __ownsNativeInstance = true; + NativeToManagedMap[__Instance] = this; + if (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); + } + + protected virtual void Dispose(bool disposing) + { + CppSharp.Parser.ParserTargetInfo __dummy; + NativeToManagedMap.TryRemove(__Instance, out __dummy); + Internal.dtor_0((__Instance + __PointerAdjustment)); + if (__ownsNativeInstance) + Marshal.FreeHGlobal(__Instance); + } + + public string ABI + { + get + { + var __ret = Internal.getABI_0((__Instance + __PointerAdjustment)); + return Marshal.PtrToStringAnsi(__ret); + } + + set + { + var __arg0 = Marshal.StringToHGlobalAnsi(value); + Internal.setABI_0((__Instance + __PointerAdjustment), __arg0); + Marshal.FreeHGlobal(__arg0); + } + } + + public CppSharp.Parser.ParserIntType Char16Type + { + get + { + return ((Internal*) __Instance)->Char16Type; + } + + set + { + ((Internal*) __Instance)->Char16Type = value; + } + } + + public CppSharp.Parser.ParserIntType Char32Type + { + get + { + return ((Internal*) __Instance)->Char32Type; + } + + set + { + ((Internal*) __Instance)->Char32Type = value; + } + } + + public CppSharp.Parser.ParserIntType Int64Type + { + get + { + return ((Internal*) __Instance)->Int64Type; + } + + set + { + ((Internal*) __Instance)->Int64Type = value; + } + } + + public CppSharp.Parser.ParserIntType IntMaxType + { + get + { + return ((Internal*) __Instance)->IntMaxType; + } + + set + { + ((Internal*) __Instance)->IntMaxType = value; + } + } + + public CppSharp.Parser.ParserIntType IntPtrType + { + get + { + return ((Internal*) __Instance)->IntPtrType; + } + + set + { + ((Internal*) __Instance)->IntPtrType = value; + } + } + + public CppSharp.Parser.ParserIntType SizeType + { + get + { + return ((Internal*) __Instance)->SizeType; + } + + set + { + ((Internal*) __Instance)->SizeType = value; + } + } + + public CppSharp.Parser.ParserIntType UIntMaxType + { + get + { + return ((Internal*) __Instance)->UIntMaxType; + } + + set + { + ((Internal*) __Instance)->UIntMaxType = value; + } + } + + public CppSharp.Parser.ParserIntType WCharType + { + get + { + return ((Internal*) __Instance)->WCharType; + } + + set + { + ((Internal*) __Instance)->WCharType = value; + } + } + + public CppSharp.Parser.ParserIntType WIntType + { + get + { + return ((Internal*) __Instance)->WIntType; + } + + set + { + ((Internal*) __Instance)->WIntType = value; + } + } + + public uint BoolAlign + { + get + { + return ((Internal*) __Instance)->BoolAlign; + } + + set + { + ((Internal*) __Instance)->BoolAlign = value; + } + } + + public uint BoolWidth + { + get + { + return ((Internal*) __Instance)->BoolWidth; + } + + set + { + ((Internal*) __Instance)->BoolWidth = value; + } + } + + public uint CharAlign + { + get + { + return ((Internal*) __Instance)->CharAlign; + } + + set + { + ((Internal*) __Instance)->CharAlign = value; + } + } + + public uint CharWidth + { + get + { + return ((Internal*) __Instance)->CharWidth; + } + + set + { + ((Internal*) __Instance)->CharWidth = value; + } + } + + public uint Char16Align + { + get + { + return ((Internal*) __Instance)->Char16Align; + } + + set + { + ((Internal*) __Instance)->Char16Align = value; + } + } + + public uint Char16Width + { + get + { + return ((Internal*) __Instance)->Char16Width; + } + + set + { + ((Internal*) __Instance)->Char16Width = value; + } + } + + public uint Char32Align + { + get + { + return ((Internal*) __Instance)->Char32Align; + } + + set + { + ((Internal*) __Instance)->Char32Align = value; + } + } + + public uint Char32Width + { + get + { + return ((Internal*) __Instance)->Char32Width; + } + + set + { + ((Internal*) __Instance)->Char32Width = value; + } + } + + public uint HalfAlign + { + get + { + return ((Internal*) __Instance)->HalfAlign; + } + + set + { + ((Internal*) __Instance)->HalfAlign = value; + } + } + + public uint HalfWidth + { + get + { + return ((Internal*) __Instance)->HalfWidth; + } + + set + { + ((Internal*) __Instance)->HalfWidth = value; + } + } + + public uint FloatAlign + { + get + { + return ((Internal*) __Instance)->FloatAlign; + } + + set + { + ((Internal*) __Instance)->FloatAlign = value; + } + } + + public uint FloatWidth + { + get + { + return ((Internal*) __Instance)->FloatWidth; + } + + set + { + ((Internal*) __Instance)->FloatWidth = value; + } + } + + public uint DoubleAlign + { + get + { + return ((Internal*) __Instance)->DoubleAlign; + } + + set + { + ((Internal*) __Instance)->DoubleAlign = value; + } + } + + public uint DoubleWidth + { + get + { + return ((Internal*) __Instance)->DoubleWidth; + } + + set + { + ((Internal*) __Instance)->DoubleWidth = value; + } + } + + public uint ShortAlign + { + get + { + return ((Internal*) __Instance)->ShortAlign; + } + + set + { + ((Internal*) __Instance)->ShortAlign = value; + } + } + + public uint ShortWidth + { + get + { + return ((Internal*) __Instance)->ShortWidth; + } + + set + { + ((Internal*) __Instance)->ShortWidth = value; + } + } + + public uint IntAlign + { + get + { + return ((Internal*) __Instance)->IntAlign; + } + + set + { + ((Internal*) __Instance)->IntAlign = value; + } + } + + public uint IntWidth + { + get + { + return ((Internal*) __Instance)->IntWidth; + } + + set + { + ((Internal*) __Instance)->IntWidth = value; + } + } + + public uint IntMaxTWidth + { + get + { + return ((Internal*) __Instance)->IntMaxTWidth; + } + + set + { + ((Internal*) __Instance)->IntMaxTWidth = value; + } + } + + public uint LongAlign + { + get + { + return ((Internal*) __Instance)->LongAlign; + } + + set + { + ((Internal*) __Instance)->LongAlign = value; + } + } + + public uint LongWidth + { + get + { + return ((Internal*) __Instance)->LongWidth; + } + + set + { + ((Internal*) __Instance)->LongWidth = value; + } + } + + public uint LongDoubleAlign + { + get + { + return ((Internal*) __Instance)->LongDoubleAlign; + } + + set + { + ((Internal*) __Instance)->LongDoubleAlign = value; + } + } + + public uint LongDoubleWidth + { + get + { + return ((Internal*) __Instance)->LongDoubleWidth; + } + + set + { + ((Internal*) __Instance)->LongDoubleWidth = value; + } + } + + public uint LongLongAlign + { + get + { + return ((Internal*) __Instance)->LongLongAlign; + } + + set + { + ((Internal*) __Instance)->LongLongAlign = value; + } + } + + public uint LongLongWidth + { + get + { + return ((Internal*) __Instance)->LongLongWidth; + } + + set + { + ((Internal*) __Instance)->LongLongWidth = value; + } + } + + public uint PointerAlign + { + get + { + return ((Internal*) __Instance)->PointerAlign; + } + + set + { + ((Internal*) __Instance)->PointerAlign = value; + } + } + + public uint PointerWidth + { + get + { + return ((Internal*) __Instance)->PointerWidth; + } + + set + { + ((Internal*) __Instance)->PointerWidth = value; + } + } + + public uint WCharAlign + { + get + { + return ((Internal*) __Instance)->WCharAlign; + } + + set + { + ((Internal*) __Instance)->WCharAlign = value; + } + } + + public uint WCharWidth + { + get + { + return ((Internal*) __Instance)->WCharWidth; + } + + set + { + ((Internal*) __Instance)->WCharWidth = value; + } + } + } + } +} diff --git a/src/CppParser/Bindings/ParserGen.cs b/src/CppParser/Bindings/ParserGen.cs index 766c1e0c..49e4361a 100644 --- a/src/CppParser/Bindings/ParserGen.cs +++ b/src/CppParser/Bindings/ParserGen.cs @@ -15,17 +15,18 @@ namespace CppSharp /// </summary> class ParserGen : ILibrary { - const string LINUX_INCLUDE_BASE_DIR = "../../../../build/headers/x86_64-linux-gnu"; - internal readonly GeneratorKind Kind; internal readonly string Triple; internal readonly CppAbi Abi; + internal readonly bool IsGnuCpp11Abi; - public ParserGen(GeneratorKind kind, string triple, CppAbi abi) + public ParserGen(GeneratorKind kind, string triple, CppAbi abi, + bool isGnuCpp11Abi = false) { Kind = kind; Triple = triple; Abi = abi; + IsGnuCpp11Abi = isGnuCpp11Abi; } static string GetSourceDirectory(string dir) @@ -77,31 +78,47 @@ namespace CppSharp options.OutputDir = Path.Combine(GetSourceDirectory("src"), "CppParser", "Bindings", Kind.ToString()); + var extraTriple = IsGnuCpp11Abi ? "-cxx11abi" : string.Empty; + if (Kind == GeneratorKind.CSharp) - options.OutputDir = Path.Combine(options.OutputDir, options.TargetTriple); + options.OutputDir = Path.Combine(options.OutputDir, options.TargetTriple + extraTriple); options.GenerateLibraryNamespace = false; options.CheckSymbols = false; } - private static void SetupLinuxOptions(DriverOptions options) + private void SetupLinuxOptions(DriverOptions options) { options.MicrosoftMode = false; options.NoBuiltinIncludes = true; - string[] sysincdirs = new[] { - "/usr/include/c++/4.8", - "/usr/include/x86_64-linux-gnu/c++/4.8", - "/usr/include/c++/4.8/backward", - "/usr/lib/gcc/x86_64-linux-gnu/4.8/include", - "/usr/include/x86_64-linux-gnu", - "/usr/include", + var headersPath = Platform.IsLinux ? string.Empty : + Path.Combine(GetSourceDirectory("build"), "headers", "x86_64-linux-gnu"); + + // Search for the available GCC versions on the provided headers. + var versions = Directory.EnumerateDirectories(Path.Combine(headersPath, + "usr/include/c++")); + + if (versions.Count() == 0) + throw new Exception("No valid GCC version found on system include paths"); + + string gccVersionPath = versions.First(); + string gccVersion = gccVersionPath.Substring( + gccVersionPath.LastIndexOf(Path.DirectorySeparatorChar) + 1); + + string[] systemIncludeDirs = new[] { + Path.Combine("usr", "include", "c++", gccVersion), + Path.Combine("usr", "include", "x86_64-linux-gnu", "c++", gccVersion), + Path.Combine("usr", "include", "c++", gccVersion, "backward"), + Path.Combine("usr", "lib", "gcc", "x86_64-linux-gnu", gccVersion, "include"), + Path.Combine("usr", "include", "x86_64-linux-gnu"), + Path.Combine("usr", "include") }; - foreach (var dir in sysincdirs) - { - options.addSystemIncludeDirs(LINUX_INCLUDE_BASE_DIR + dir); - } + foreach (var dir in systemIncludeDirs) + options.addSystemIncludeDirs(Path.Combine(headersPath, dir)); + + options.addDefines("_GLIBCXX_USE_CXX11_ABI=" + (IsGnuCpp11Abi ? "1" : "0")); } private static void SetupMacOptions(DriverOptions options) @@ -183,13 +200,18 @@ namespace CppSharp Console.WriteLine(); } - - if (Directory.Exists(LINUX_INCLUDE_BASE_DIR)) + var linuxHeadersPath = Path.Combine(GetSourceDirectory("build"), @"headers\x86_64-linux-gnu"); + if (Directory.Exists(linuxHeadersPath) || Platform.IsLinux) { Console.WriteLine("Generating the C# parser bindings for Linux..."); ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "x86_64-linux-gnu", CppAbi.Itanium)); Console.WriteLine(); + + Console.WriteLine("Generating the C# parser bindings for Linux (GCC C++11 ABI)..."); + ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "x86_64-linux-gnu", + CppAbi.Itanium, isGnuCpp11Abi: true)); + Console.WriteLine(); } } }