diff --git a/.github/workflows/llvm.yml b/.github/workflows/llvm.yml index 966cc16922..52d2b36de4 100644 --- a/.github/workflows/llvm.yml +++ b/.github/workflows/llvm.yml @@ -13,7 +13,7 @@ jobs: - { os: ubuntu-22.04, platform: arm64, cxx: g++-11, cc: gcc-11 } - { os: macos-11, platform: x64, cxx: clang++, cc: clang } - { os: macos-12, platform: x64, cxx: clang++, cc: clang } - - { os: macos-12, platform: arm64, cxx: clang++, cc: clang } + - { os: macos-14, platform: arm64, cxx: clang++, cc: clang } runs-on: ${{ matrix.config.os }} diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 0693eb0d85..15308557c5 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -11,6 +11,7 @@ jobs: config: - { os: ubuntu-22.04, platform: x64, cxx: g++-11, cc: gcc-11 } - { os: macos-12, platform: x64, cxx: clang++, cc: clang } + - { os: macos-14, platform: arm64, cxx: clang++, cc: clang } - { os: windows-2022, platform: x64, vs: "Program Files/Microsoft Visual Studio/2022" } runs-on: ${{ matrix.config.os }} @@ -30,10 +31,10 @@ jobs: fetch-depth: '0' - name: Setup emsdk - uses: mymindstorm/setup-emsdk@v11 + uses: mymindstorm/setup-emsdk@v14 with: version: ${{ env.EMSCRIPTEN_VERSION }} - actions-cache-folder: emsdk-cache-${{ runner.os }} + actions-cache-folder: emsdk-cache-${{ runner.os }}-${{ matrix.config.platform }} - name: Setup cmake uses: jwlawson/actions-setup-cmake@v2 diff --git a/build/Helpers.lua b/build/Helpers.lua index 468d383e44..301f3157d3 100644 --- a/build/Helpers.lua +++ b/build/Helpers.lua @@ -253,11 +253,11 @@ function AddPlatformSpecificFiles(folder, filename) files { path.join(folder, "i686-pc-win32-msvc", filename) } elseif os.istarget("macosx") then filter { "architecture:arm64" } - files { path.join(folder, "arm64-apple-darwin12.4.0", filename) } + files { path.join(folder, "arm64-apple-darwin", filename) } filter { "architecture:x86_64" } - files { path.join(folder, "x86_64-apple-darwin12.4.0", filename) } + files { path.join(folder, "x86_64-apple-darwin", filename) } filter {"architecture:x86" } - files { path.join(folder, "i686-apple-darwin12.4.0", filename) } + files { path.join(folder, "i686-apple-darwin", filename) } elseif os.istarget("linux") then filter { "architecture:arm64" } files { path.join(folder, "arm64-linux-gnu" .. (UseCxx11ABI() and "-cxx11abi" or ""), filename) } diff --git a/build/build.sh b/build/build.sh index d53f103ebe..f8752d73ca 100755 --- a/build/build.sh +++ b/build/build.sh @@ -18,10 +18,6 @@ oshost="" os="" test= -if [[ $(uname -m) != *"64"* ]]; then - platform=x86 -fi - build() { if [ $ci = true ]; then @@ -180,6 +176,33 @@ detect_os() os=$oshost } +detect_arch() +{ + if [ "$oshost" = "linux" ] || [ "$oshost" = "macosx" ]; then + arch=$(uname -m) + if [ "$arch" = "x86_64" ]; then + platform="x64" + elif [ "$arch" = "arm64" ] || [ "$arch" = "aarch64" ]; then + platform="arm64" + elif [ "$arch" = "i686" ] || [ "$arch" = "i386" ]; then + platform="x86" + else + echo "Unknown architecture: $arch" + fi + elif [ "$oshost" = "windows" ]; then + arch=$(echo $PROCESSOR_ARCHITECTURE) + if [ "$arch" = "AMD64" ]; then + platform="x64" + elif [ "$arch" = "ARM64" ]; then + platform="arm64" + elif [ "$arch" = "x86" ]; then + platform="x86" + else + echo "Unknown architecture: $arch" + fi + fi +} + find_msbuild() { if [ -x "$(command -v MSBuild.exe)" ]; then @@ -191,6 +214,7 @@ find_msbuild() cmd=$(tr '[:upper:]' '[:lower:]' <<< $1) detect_os +detect_arch download_premake while [[ $# > 0 ]]; do diff --git a/src/CppParser/AST.cpp b/src/CppParser/AST.cpp index 1b33cdb8ce..3c8b34d40f 100644 --- a/src/CppParser/AST.cpp +++ b/src/CppParser/AST.cpp @@ -214,6 +214,8 @@ DependentNameType::DependentNameType() : Type(TypeKind::DependentName) {} DependentNameType::~DependentNameType() {} +DEF_STRING(DependentNameType, Identifier) + PackExpansionType::PackExpansionType() : Type(TypeKind::PackExpansion) {} UnaryTransformType::UnaryTransformType() : Type(TypeKind::UnaryTransform) {} @@ -242,7 +244,7 @@ LayoutField::LayoutField() : offset(0), fieldPtr(0) {} LayoutField::LayoutField(const LayoutField & other) : offset(other.offset) - , name(other.name) + , Name(other.Name) , qualifiedType(other.qualifiedType) , fieldPtr(other.fieldPtr) { @@ -250,6 +252,8 @@ LayoutField::LayoutField(const LayoutField & other) LayoutField::~LayoutField() {} +DEF_STRING(LayoutField, Name) + LayoutBase::LayoutBase() : offset(0), _class(0) {} LayoutBase::LayoutBase(const LayoutBase& other) : offset(other.offset), _class(other._class) {} @@ -293,9 +297,9 @@ Declaration::Declaration(const Declaration& rhs) , location(rhs.location.ID) , lineNumberStart(rhs.lineNumberStart) , lineNumberEnd(rhs.lineNumberEnd) - , name(rhs.name) + , Name(rhs.Name) , comment(rhs.comment) - , debugText(rhs.debugText) + , DebugText(rhs.DebugText) , isIncomplete(rhs.isIncomplete) , isDependent(rhs.isDependent) , isImplicit(rhs.isImplicit) @@ -312,6 +316,9 @@ Declaration::~Declaration() { } +DEF_STRING(Declaration, Name) +DEF_STRING(Declaration, USR) +DEF_STRING(Declaration, DebugText) DEF_VECTOR(Declaration, PreprocessedEntity*, PreprocessedEntities) DEF_VECTOR(Declaration, Declaration*, Redeclarations) @@ -353,7 +360,7 @@ DeclarationContext::FindNamespace(const std::vector& Namespaces) auto childNamespace = std::find_if(currentNamespace->Namespaces.begin(), currentNamespace->Namespaces.end(), [&](CppSharp::CppParser::AST::Namespace* ns) { - return ns->name == _namespace; + return ns->Name == _namespace; }); if (childNamespace == currentNamespace->Namespaces.end()) @@ -372,7 +379,7 @@ Namespace* DeclarationContext::FindCreateNamespace(const std::string& Name) if (!_namespace) { _namespace = new Namespace(); - _namespace->name = Name; + _namespace->Name = Name; _namespace->_namespace = this; Namespaces.push_back(_namespace); @@ -393,7 +400,7 @@ Class* DeclarationContext::FindClass(const void* OriginalPtr, auto _class = std::find_if(Classes.begin(), Classes.end(), [OriginalPtr, Name, IsComplete](Class* klass) { return (OriginalPtr && klass->originalPtr == OriginalPtr) || - (klass->name == Name && klass->isIncomplete == !IsComplete); }); + (klass->Name == Name && klass->isIncomplete == !IsComplete); }); return _class != Classes.end() ? *_class : nullptr; } @@ -413,7 +420,7 @@ Class* DeclarationContext::FindClass(const void* OriginalPtr, Class* DeclarationContext::CreateClass(const std::string& Name, bool IsComplete) { auto _class = new Class(); - _class->name = Name; + _class->Name = Name; _class->_namespace = this; _class->isIncomplete = !IsComplete; @@ -457,7 +464,7 @@ Enumeration* DeclarationContext::FindEnum(const std::string& Name, bool Create) if (entries.size() == 1) { auto foundEnum = std::find_if(Enums.begin(), Enums.end(), - [&](Enumeration* _enum) { return _enum->name == Name; }); + [&](Enumeration* _enum) { return _enum->Name == Name; }); if (foundEnum != Enums.end()) return *foundEnum; @@ -466,7 +473,7 @@ Enumeration* DeclarationContext::FindEnum(const std::string& Name, bool Create) return nullptr; auto _enum = new Enumeration(); - _enum->name = Name; + _enum->Name = Name; _enum->_namespace = this; Enums.push_back(_enum); return _enum; @@ -525,7 +532,7 @@ Function* DeclarationContext::FindFunction(const std::string& USR) TypedefDecl* DeclarationContext::FindTypedef(const std::string& Name, bool Create) { auto foundTypedef = std::find_if(Typedefs.begin(), Typedefs.end(), - [&](TypedefDecl* tdef) { return tdef->name == Name; }); + [&](TypedefDecl* tdef) { return tdef->Name == Name; }); if (foundTypedef != Typedefs.end()) return *foundTypedef; @@ -534,7 +541,7 @@ TypedefDecl* DeclarationContext::FindTypedef(const std::string& Name, bool Creat return nullptr; auto tdef = new TypedefDecl(); - tdef->name = Name; + tdef->Name = Name; tdef->_namespace = this; return tdef; @@ -543,7 +550,7 @@ TypedefDecl* DeclarationContext::FindTypedef(const std::string& Name, bool Creat TypeAlias* DeclarationContext::FindTypeAlias(const std::string& Name, bool Create) { auto foundTypeAlias = std::find_if(TypeAliases.begin(), TypeAliases.end(), - [&](TypeAlias* talias) { return talias->name == Name; }); + [&](TypeAlias* talias) { return talias->Name == Name; }); if (foundTypeAlias != TypeAliases.end()) return *foundTypeAlias; @@ -552,7 +559,7 @@ TypeAlias* DeclarationContext::FindTypeAlias(const std::string& Name, bool Creat return nullptr; auto talias = new TypeAlias(); - talias->name = Name; + talias->Name = Name; talias->_namespace = this; return talias; @@ -596,13 +603,17 @@ Friend::Friend() : CppSharp::CppParser::AST::Declaration(DeclarationKind::Friend Friend::~Friend() {} -StatementObsolete::StatementObsolete(const std::string& str, StatementClassObsolete stmtClass, Declaration* decl) : string(str), _class(stmtClass), decl(decl) {} +DEF_STRING(StatementObsolete, String) + +StatementObsolete::StatementObsolete(const std::string& str, StatementClassObsolete stmtClass, Declaration* decl) : String(str), _class(stmtClass), decl(decl) {} ExpressionObsolete::ExpressionObsolete(const std::string& str, StatementClassObsolete stmtClass, Declaration* decl) : StatementObsolete(str, stmtClass, decl) {} +DEF_STRING(BinaryOperatorObsolete, OpcodeStr) + BinaryOperatorObsolete::BinaryOperatorObsolete(const std::string& str, ExpressionObsolete* lhs, ExpressionObsolete* rhs, const std::string& opcodeStr) - : ExpressionObsolete(str, StatementClassObsolete::BinaryOperator), LHS(lhs), RHS(rhs), opcodeStr(opcodeStr) {} + : ExpressionObsolete(str, StatementClassObsolete::BinaryOperator), LHS(lhs), RHS(rhs), OpcodeStr(opcodeStr) {} BinaryOperatorObsolete::~BinaryOperatorObsolete() { @@ -610,7 +621,6 @@ BinaryOperatorObsolete::~BinaryOperatorObsolete() deleteExpression(RHS); } - CallExprObsolete::CallExprObsolete(const std::string& str, Declaration* decl) : ExpressionObsolete(str, StatementClassObsolete::CallExprClass, decl) {} @@ -666,6 +676,10 @@ Function::Function() } Function::~Function() {} + +DEF_STRING(Function, Mangled) +DEF_STRING(Function, Signature) +DEF_STRING(Function, Body) DEF_VECTOR(Function, Parameter*, Parameters) Method::Method() @@ -699,14 +713,16 @@ DEF_VECTOR(Enumeration, Enumeration::Item*, Items) Enumeration::Item::Item() : Declaration(DeclarationKind::EnumerationItem) {} Enumeration::Item::Item(const Item& rhs) : Declaration(rhs), - expression(rhs.expression), value(rhs.value) {} + Expression(rhs.Expression), value(rhs.value) {} Enumeration::Item::~Item() {} +DEF_STRING(Enumeration::Item, Expression) + Enumeration::Item* Enumeration::FindItemByName(const std::string& Name) { auto foundEnumItem = std::find_if(Items.begin(), Items.end(), - [&](Item* _item) { return _item->name == Name; }); + [&](Item* _item) { return _item->Name == Name; }); if (foundEnumItem != Items.end()) return *foundEnumItem; return nullptr; @@ -717,6 +733,8 @@ Variable::Variable() : Declaration(DeclarationKind::Variable), Variable::~Variable() {} +DEF_STRING(Variable, Mangled) + BaseClassSpecifier::BaseClassSpecifier() : type(0), offset(0) {} Field::Field() : Declaration(DeclarationKind::Field), _class(0), @@ -891,13 +909,21 @@ MacroDefinition::MacroDefinition() MacroDefinition::~MacroDefinition() {} +DEF_STRING(MacroDefinition, Name) +DEF_STRING(MacroDefinition, Expression) + MacroExpansion::MacroExpansion() : definition(0) { kind = DeclarationKind::MacroExpansion; } MacroExpansion::~MacroExpansion() {} +DEF_STRING(MacroExpansion, Name) +DEF_STRING(MacroExpansion, Text) + TranslationUnit::TranslationUnit() { kind = DeclarationKind::TranslationUnit; } TranslationUnit::~TranslationUnit() {} + +DEF_STRING(TranslationUnit, FileName) DEF_VECTOR(TranslationUnit, MacroDefinition*, Macros) NativeLibrary::NativeLibrary() @@ -906,6 +932,7 @@ NativeLibrary::NativeLibrary() NativeLibrary::~NativeLibrary() {} // NativeLibrary +DEF_STRING(NativeLibrary, FileName) DEF_VECTOR_STRING(NativeLibrary, Symbols) DEF_VECTOR_STRING(NativeLibrary, Dependencies) @@ -941,14 +968,14 @@ TranslationUnit* ASTContext::FindOrCreateModule(std::string File) auto existingUnit = std::find_if(TranslationUnits.begin(), TranslationUnits.end(), [&](TranslationUnit* unit) { - return unit && unit->fileName == normalizedFile; + return unit && unit->FileName == normalizedFile; }); if (existingUnit != TranslationUnits.end()) return *existingUnit; auto unit = new TranslationUnit(); - unit->fileName = normalizedFile; + unit->FileName = normalizedFile; TranslationUnits.push_back(unit); return unit; @@ -957,6 +984,9 @@ TranslationUnit* ASTContext::FindOrCreateModule(std::string File) // Comments Comment::Comment(CommentKind kind) : kind(kind) {} +DEF_STRING(RawComment, Text) +DEF_STRING(RawComment, BriefText) + RawComment::RawComment() : fullCommentBlock(0) {} RawComment::~RawComment() @@ -1007,10 +1037,12 @@ BlockContentComment::BlockContentComment(CommentKind Kind) : Comment(Kind) {} BlockCommandComment::Argument::Argument() {} -BlockCommandComment::Argument::Argument(const Argument& rhs) : text(rhs.text) {} +BlockCommandComment::Argument::Argument(const Argument& rhs) : Text(rhs.Text) {} BlockCommandComment::Argument::~Argument() {} +DEF_STRING(BlockCommandComment::Argument, Text) + BlockCommandComment::BlockCommandComment() : BlockContentComment(CommentKind::BlockCommandComment), commandId(0), paragraphComment(0) {} BlockCommandComment::BlockCommandComment(CommentKind Kind) : BlockContentComment(Kind), commandId(0), paragraphComment(0) {} @@ -1028,6 +1060,8 @@ TParamCommandComment::TParamCommandComment() : BlockCommandComment(CommentKind:: DEF_VECTOR(TParamCommandComment, unsigned, Position) +DEF_STRING(VerbatimBlockLineComment, Text) + VerbatimBlockComment::VerbatimBlockComment() : BlockCommandComment(CommentKind::VerbatimBlockComment) {} VerbatimBlockComment::~VerbatimBlockComment() @@ -1036,10 +1070,14 @@ VerbatimBlockComment::~VerbatimBlockComment() delete line; } +VerbatimBlockLineComment::VerbatimBlockLineComment() : Comment(CommentKind::VerbatimBlockLineComment) {} + DEF_VECTOR(VerbatimBlockComment, VerbatimBlockLineComment*, Lines) VerbatimLineComment::VerbatimLineComment() : BlockCommandComment(CommentKind::VerbatimLineComment) {} +DEF_STRING(VerbatimLineComment, Text) + ParagraphComment::ParagraphComment() : BlockContentComment(CommentKind::ParagraphComment), isWhitespace(false) {} ParagraphComment::~ParagraphComment() @@ -1079,7 +1117,11 @@ HTMLTagComment::HTMLTagComment(CommentKind Kind) : InlineContentComment(Kind) {} HTMLStartTagComment::Attribute::Attribute() {} -HTMLStartTagComment::Attribute::Attribute(const Attribute& rhs) : name(rhs.name), value(rhs.value) {} +HTMLStartTagComment::Attribute::Attribute(const Attribute& rhs) : Name(rhs.Name), Value(rhs.Value) {} + +DEF_STRING(HTMLStartTagComment::Attribute, Name) + +DEF_STRING(HTMLStartTagComment::Attribute, Value) HTMLStartTagComment::Attribute::~Attribute() {} @@ -1087,17 +1129,25 @@ HTMLStartTagComment::HTMLStartTagComment() : HTMLTagComment(CommentKind::HTMLSta DEF_VECTOR(HTMLStartTagComment, HTMLStartTagComment::Attribute, Attributes) +DEF_STRING(HTMLStartTagComment, TagName) + HTMLEndTagComment::HTMLEndTagComment() : HTMLTagComment(CommentKind::HTMLEndTagComment) {} +DEF_STRING(HTMLEndTagComment, TagName) + InlineContentComment::InlineContentComment() : Comment(CommentKind::InlineContentComment), hasTrailingNewline(false) {} InlineContentComment::InlineContentComment(CommentKind Kind) : Comment(Kind), hasTrailingNewline(false) {} TextComment::TextComment() : InlineContentComment(CommentKind::TextComment) {} +DEF_STRING(TextComment, Text) + InlineCommandComment::Argument::Argument() {} -InlineCommandComment::Argument::Argument(const Argument& rhs) : text(rhs.text) {} +InlineCommandComment::Argument::Argument(const Argument& rhs) : Text(rhs.Text) {} + +DEF_STRING(InlineCommandComment::Argument, Text) InlineCommandComment::Argument::~Argument() {} @@ -1106,6 +1156,4 @@ InlineCommandComment::InlineCommandComment() DEF_VECTOR(InlineCommandComment, InlineCommandComment::Argument, Arguments) -VerbatimBlockLineComment::VerbatimBlockLineComment() : Comment(CommentKind::VerbatimBlockLineComment) {} - } } } \ No newline at end of file diff --git a/src/CppParser/AST.h b/src/CppParser/AST.h index c8a3be1cb8..5dc3052390 100644 --- a/src/CppParser/AST.h +++ b/src/CppParser/AST.h @@ -31,7 +31,7 @@ class CS_API NativeLibrary public: NativeLibrary(); ~NativeLibrary(); - std::string fileName; + STRING(FileName) ArchType archType; VECTOR_STRING(Symbols) VECTOR_STRING(Dependencies) @@ -108,7 +108,7 @@ class CS_API BlockCommandComment : public BlockContentComment Argument(); Argument(const Argument&); ~Argument(); - std::string text; + STRING(Text) }; BlockCommandComment(); BlockCommandComment(CommentKind Kind); @@ -143,7 +143,7 @@ class CS_API VerbatimBlockLineComment : public Comment { public: VerbatimBlockLineComment(); - std::string text; + STRING(Text) }; class CS_API VerbatimBlockComment : public BlockCommandComment @@ -158,7 +158,7 @@ class CS_API VerbatimLineComment : public BlockCommandComment { public: VerbatimLineComment(); - std::string text; + STRING(Text) }; class CS_API InlineCommandComment : public InlineContentComment @@ -178,7 +178,7 @@ class CS_API InlineCommandComment : public InlineContentComment Argument(); Argument(const Argument&); ~Argument(); - std::string text; + STRING(Text) }; InlineCommandComment(); unsigned commandId; @@ -202,11 +202,11 @@ class CS_API HTMLStartTagComment : public HTMLTagComment Attribute(); Attribute(const Attribute&); ~Attribute(); - std::string name; - std::string value; + STRING(Name) + STRING(Value) }; HTMLStartTagComment(); - std::string tagName; + STRING(TagName) VECTOR(Attribute, Attributes) }; @@ -214,14 +214,14 @@ class CS_API HTMLEndTagComment : public HTMLTagComment { public: HTMLEndTagComment(); - std::string tagName; + STRING(TagName) }; class CS_API TextComment : public InlineContentComment { public: TextComment(); - std::string text; + STRING(Text) }; enum class RawCommentKind @@ -242,8 +242,8 @@ class CS_API RawComment RawComment(); ~RawComment(); RawCommentKind kind; - std::string text; - std::string briefText; + STRING(Text) + STRING(BriefText) FullComment* fullCommentBlock; }; diff --git a/src/CppParser/Bindings/CSharp/CppSharp.Parser.CSharp.csproj b/src/CppParser/Bindings/CSharp/CppSharp.Parser.CSharp.csproj index cb09d65642..e21dd2c8b8 100644 --- a/src/CppParser/Bindings/CSharp/CppSharp.Parser.CSharp.csproj +++ b/src/CppParser/Bindings/CSharp/CppSharp.Parser.CSharp.csproj @@ -9,9 +9,10 @@ x86_64-pc-win32-msvc x86_64-linux-gnu-cxx11abi x86_64-linux-gnu - x86_64-apple-darwin12.4.0 + x86_64-apple-darwin + arm64-apple-darwin i686-pc-win32-msvc - i686-apple-darwin12.4.0 + i686-apple-darwin diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser-symbols.cpp b/src/CppParser/Bindings/CSharp/arm64-apple-darwin/CppSharp.CppParser-symbols.cpp similarity index 100% rename from src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser-symbols.cpp rename to src/CppParser/Bindings/CSharp/arm64-apple-darwin/CppSharp.CppParser-symbols.cpp diff --git a/src/CppParser/Bindings/CSharp/arm64-apple-darwin/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/arm64-apple-darwin/CppSharp.CppParser.cs new file mode 100644 index 0000000000..864063dd1e --- /dev/null +++ b/src/CppParser/Bindings/CSharp/arm64-apple-darwin/CppSharp.CppParser.cs @@ -0,0 +1,50762 @@ +// ---------------------------------------------------------------------------- +// +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// +// ---------------------------------------------------------------------------- +using System; +using System.Runtime.InteropServices; +using System.Security; +using __NativeMemory = global::System.Runtime.InteropServices.NativeMemory; +using __CallingConvention = global::System.Runtime.InteropServices.CallingConvention; +using __IntPtr = global::System.IntPtr; +using System.Runtime.CompilerServices; + +[assembly:InternalsVisibleTo("CppSharp.Parser")] + +#pragma warning disable CS0109 // Member does not hide an inherited member; new keyword is not required +#pragma warning disable CS9084 // Struct member returns 'this' or other instance members by reference + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + 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 ArchType + { + UnknownArch = 0, + X86 = 1, + X86_64 = 2 + } + + public unsafe partial class NativeLibrary : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C FileName; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.ArchType archType; + + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Symbols; + + [FieldOffset(56)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Dependencies; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibraryC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibraryD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary10getSymbolsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetSymbols(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary10addSymbolsEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddSymbols(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary12clearSymbolsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearSymbols(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary15getDependenciesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetDependencies(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary15addDependenciesEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddDependencies(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearDependencies(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary11getFileNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFileName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary11setFileNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetFileName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetSymbolsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary20getDependenciesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetDependenciesCount(__IntPtr __instance); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.NativeLibrary managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.NativeLibrary managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static NativeLibrary __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new NativeLibrary(native.ToPointer(), skipVTables); + } + + internal static NativeLibrary __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (NativeLibrary)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static NativeLibrary __CreateInstance(__Internal native, bool skipVTables = false) + { + return new NativeLibrary(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private NativeLibrary(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected NativeLibrary(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public NativeLibrary() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public string GetSymbols(uint i) + { + var ___ret = __Internal.GetSymbols(__Instance, i); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + public void AddSymbols(string s) + { + __Internal.AddSymbols(__Instance, s); + } + + public void ClearSymbols() + { + __Internal.ClearSymbols(__Instance); + } + + public string GetDependencies(uint i) + { + var ___ret = __Internal.GetDependencies(__Instance, i); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + public void AddDependencies(string s) + { + __Internal.AddDependencies(__Instance, s); + } + + public void ClearDependencies() + { + __Internal.ClearDependencies(__Instance); + } + + public global::CppSharp.Parser.AST.ArchType ArchType + { + get + { + return ((__Internal*)__Instance)->archType; + } + + set + { + ((__Internal*)__Instance)->archType = value; + } + } + + public string FileName + { + get + { + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetFileName(__Instance, value); + } + } + + public uint SymbolsCount + { + get + { + var ___ret = __Internal.GetSymbolsCount(__Instance); + return ___ret; + } + } + + public uint DependenciesCount + { + get + { + var ___ret = __Internal.GetDependenciesCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class Comment : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.CommentKind kind); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7CommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.Comment managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.Comment managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static Comment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Comment(native.ToPointer(), skipVTables); + } + + internal static Comment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Comment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Comment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Comment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private Comment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Comment(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public Comment(global::CppSharp.Parser.AST.CommentKind kind) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Comment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, kind); + } + + public Comment(global::CppSharp.Parser.AST.Comment _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Comment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public static implicit operator global::CppSharp.Parser.AST.Comment(global::CppSharp.Parser.AST.CommentKind kind) + { + return new global::CppSharp.Parser.AST.Comment(kind); + } + + public global::CppSharp.Parser.AST.CommentKind Kind + { + get + { + return ((__Internal*)__Instance)->kind; + } + + set + { + ((__Internal*)__Instance)->kind = value; + } + } + } + + public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ENS1_11CommentKindE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockContentCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new BlockContentComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new BlockContentComment(native.ToPointer(), skipVTables); + } + + internal static new BlockContentComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (BlockContentComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static BlockContentComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new BlockContentComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private BlockContentComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected BlockContentComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public BlockContentComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, Kind); + } + + public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + { + return new global::CppSharp.Parser.AST.BlockContentComment(Kind); + } + } + + public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S0_ Blocks; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11FullCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11FullCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11FullCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11FullComment9getBlocksEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBlocks(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11FullComment9addBlocksERPNS1_19BlockContentCommentE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddBlocks(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11FullComment11clearBlocksEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearBlocks(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11FullComment14getBlocksCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetBlocksCount(__IntPtr __instance); + } + + internal static new FullComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new FullComment(native.ToPointer(), skipVTables); + } + + internal static new FullComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (FullComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static FullComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new FullComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private FullComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected FullComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public FullComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FullComment(global::CppSharp.Parser.AST.FullComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.BlockContentComment GetBlocks(uint i) + { + var ___ret = __Internal.GetBlocks(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.BlockContentComment.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddBlocks(global::CppSharp.Parser.AST.BlockContentComment s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddBlocks(__Instance, __arg0); + } + + public void ClearBlocks() + { + __Internal.ClearBlocks(__Instance); + } + + public uint BlocksCount + { + get + { + var ___ret = __Internal.GetBlocksCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal byte hasTrailingNewline; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineContentCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ENS1_11CommentKindE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineContentCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new InlineContentComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new InlineContentComment(native.ToPointer(), skipVTables); + } + + internal static new InlineContentComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (InlineContentComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static InlineContentComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new InlineContentComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private InlineContentComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected InlineContentComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public InlineContentComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, Kind); + } + + public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + { + return new global::CppSharp.Parser.AST.InlineContentComment(Kind); + } + + public bool HasTrailingNewline + { + get + { + return ((__Internal*)__Instance)->hasTrailingNewline != 0; + } + + set + { + ((__Internal*)__Instance)->hasTrailingNewline = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal byte isWhitespace; + + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S0_ Content; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ParagraphCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ParagraphCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ParagraphCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ParagraphComment10getContentEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetContent(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ParagraphComment10addContentERPNS1_20InlineContentCommentE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddContent(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ParagraphComment12clearContentEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearContent(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ParagraphComment15getContentCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetContentCount(__IntPtr __instance); + } + + internal static new ParagraphComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ParagraphComment(native.ToPointer(), skipVTables); + } + + internal static new ParagraphComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ParagraphComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ParagraphComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ParagraphComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private ParagraphComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ParagraphComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ParagraphComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.InlineContentComment GetContent(uint i) + { + var ___ret = __Internal.GetContent(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.InlineContentComment.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddContent(global::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; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddContent(__Instance, __arg0); + } + + public void ClearContent() + { + __Internal.ClearContent(__Instance); + } + + public bool IsWhitespace + { + get + { + return ((__Internal*)__Instance)->isWhitespace != 0; + } + + set + { + ((__Internal*)__Instance)->isWhitespace = (byte) (value ? 1 : 0); + } + } + + public uint ContentCount + { + get + { + var ___ret = __Internal.GetContentCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal uint commandId; + + [FieldOffset(8)] + internal __IntPtr paragraphComment; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ENS1_11CommentKindE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment12getArgumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal GetArguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment12addArgumentsERNS2_8ArgumentE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddArguments(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment14clearArgumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearArguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetArgumentsCount(__IntPtr __instance); + } + + public unsafe partial class Argument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2ERKS3_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8Argument7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8Argument7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.BlockCommandComment.Argument managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.BlockCommandComment.Argument managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static Argument __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Argument(native.ToPointer(), skipVTables); + } + + internal static Argument __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Argument)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Argument __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Argument(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Argument(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Argument(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public Argument() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetText(__Instance, value); + } + } + } + + internal static new BlockCommandComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new BlockCommandComment(native.ToPointer(), skipVTables); + } + + internal static new BlockCommandComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (BlockCommandComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static BlockCommandComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new BlockCommandComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private BlockCommandComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected BlockCommandComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public BlockCommandComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, Kind); + } + + public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.BlockCommandComment.Argument GetArguments(uint i) + { + var ___ret = __Internal.GetArguments(__Instance, i); + var _____ret = global::CppSharp.Parser.AST.BlockCommandComment.Argument.__CreateInstance(___ret); + global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.dtor(new __IntPtr(&___ret)); + return _____ret; + } + + public void AddArguments(global::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(__Instance, __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments(__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + { + return new global::CppSharp.Parser.AST.BlockCommandComment(Kind); + } + + public uint CommandId + { + get + { + return ((__Internal*)__Instance)->commandId; + } + + set + { + ((__Internal*)__Instance)->commandId = value; + } + } + + public global::CppSharp.Parser.AST.ParagraphComment ParagraphComment + { + get + { + var __result0 = global::CppSharp.Parser.AST.ParagraphComment.__GetOrCreateInstance(((__Internal*)__Instance)->paragraphComment, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->paragraphComment = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var ___ret = __Internal.GetArgumentsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal uint commandId; + + [FieldOffset(8)] + internal __IntPtr paragraphComment; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; + + [FieldOffset(44)] + internal uint paramIndex; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ParamCommandCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + public enum PassDirection : uint + { + In = 0, + Out = 1, + InOut = 2 + } + + internal static new ParamCommandComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ParamCommandComment(native.ToPointer(), skipVTables); + } + + internal static new ParamCommandComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ParamCommandComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ParamCommandComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ParamCommandComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private ParamCommandComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ParamCommandComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ParamCommandComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::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 : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal uint commandId; + + [FieldOffset(8)] + internal __IntPtr paragraphComment; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector__i___N_std_N___1_S_allocator__i Position; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20TParamCommandCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20TParamCommandComment11getPositionEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetPosition(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20TParamCommandComment11addPositionERj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddPosition(__IntPtr __instance, uint* s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20TParamCommandComment13clearPositionEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearPosition(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20TParamCommandComment16getPositionCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetPositionCount(__IntPtr __instance); + } + + internal static new TParamCommandComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TParamCommandComment(native.ToPointer(), skipVTables); + } + + internal static new TParamCommandComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TParamCommandComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TParamCommandComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TParamCommandComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TParamCommandComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TParamCommandComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TParamCommandComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public uint GetPosition(uint i) + { + var ___ret = __Internal.GetPosition(__Instance, i); + return ___ret; + } + + public void AddPosition(ref uint s) + { + fixed (uint* __s0 = &s) + { + var __arg0 = __s0; + __Internal.AddPosition(__Instance, __arg0); + } + } + + public void ClearPosition() + { + __Internal.ClearPosition(__Instance); + } + + public uint PositionCount + { + get + { + var ___ret = __Internal.GetPositionCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + internal static new VerbatimBlockLineComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new VerbatimBlockLineComment(native.ToPointer(), skipVTables); + } + + internal static new VerbatimBlockLineComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (VerbatimBlockLineComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static VerbatimBlockLineComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new VerbatimBlockLineComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private VerbatimBlockLineComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected VerbatimBlockLineComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public VerbatimBlockLineComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetText(__Instance, value); + } + } + } + + public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal uint commandId; + + [FieldOffset(8)] + internal __IntPtr paragraphComment; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S0_ Lines; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8getLinesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetLines(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20VerbatimBlockComment8addLinesERPNS1_24VerbatimBlockLineCommentE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddLines(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20VerbatimBlockComment10clearLinesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearLines(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20VerbatimBlockComment13getLinesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetLinesCount(__IntPtr __instance); + } + + internal static new VerbatimBlockComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new VerbatimBlockComment(native.ToPointer(), skipVTables); + } + + internal static new VerbatimBlockComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (VerbatimBlockComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static VerbatimBlockComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new VerbatimBlockComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private VerbatimBlockComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected VerbatimBlockComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public VerbatimBlockComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.VerbatimBlockLineComment GetLines(uint i) + { + var ___ret = __Internal.GetLines(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.VerbatimBlockLineComment.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddLines(global::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; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddLines(__Instance, __arg0); + } + + public void ClearLines() + { + __Internal.ClearLines(__Instance); + } + + public uint LinesCount + { + get + { + var ___ret = __Internal.GetLinesCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal uint commandId; + + [FieldOffset(8)] + internal __IntPtr paragraphComment; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + internal static new VerbatimLineComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new VerbatimLineComment(native.ToPointer(), skipVTables); + } + + internal static new VerbatimLineComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (VerbatimLineComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static VerbatimLineComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new VerbatimLineComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private VerbatimLineComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected VerbatimLineComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public VerbatimLineComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetText(__Instance, value); + } + } + } + + public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal byte hasTrailingNewline; + + [FieldOffset(8)] + internal uint commandId; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment12getArgumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal GetArguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment12addArgumentsERNS2_8ArgumentE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddArguments(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment14clearArgumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearArguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetArgumentsCount(__IntPtr __instance); + } + + public enum RenderKind : uint + { + RenderNormal = 0, + RenderBold = 1, + RenderMonospaced = 2, + RenderEmphasized = 3, + RenderAnchor = 4 + } + + public unsafe partial class Argument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2ERKS3_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8Argument7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8Argument7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.InlineCommandComment.Argument managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.InlineCommandComment.Argument managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static Argument __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Argument(native.ToPointer(), skipVTables); + } + + internal static Argument __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Argument)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Argument __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Argument(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Argument(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Argument(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public Argument() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetText(__Instance, value); + } + } + } + + internal static new InlineCommandComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new InlineCommandComment(native.ToPointer(), skipVTables); + } + + internal static new InlineCommandComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (InlineCommandComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static InlineCommandComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new InlineCommandComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private InlineCommandComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected InlineCommandComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public InlineCommandComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.InlineCommandComment.Argument GetArguments(uint i) + { + var ___ret = __Internal.GetArguments(__Instance, i); + var _____ret = global::CppSharp.Parser.AST.InlineCommandComment.Argument.__CreateInstance(___ret); + global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.dtor(new __IntPtr(&___ret)); + return _____ret; + } + + public void AddArguments(global::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(__Instance, __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments(__Instance); + } + + public uint CommandId + { + get + { + return ((__Internal*)__Instance)->commandId; + } + + set + { + ((__Internal*)__Instance)->commandId = value; + } + } + + public global::CppSharp.Parser.AST.InlineCommandComment.RenderKind CommentRenderKind + { + get + { + return ((__Internal*)__Instance)->commentRenderKind; + } + + set + { + ((__Internal*)__Instance)->commentRenderKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var ___ret = __Internal.GetArgumentsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal byte hasTrailingNewline; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ENS1_11CommentKindE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.CommentKind Kind); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new HTMLTagComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new HTMLTagComment(native.ToPointer(), skipVTables); + } + + internal static new HTMLTagComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (HTMLTagComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static HTMLTagComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new HTMLTagComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private HTMLTagComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected HTMLTagComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public HTMLTagComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, Kind); + } + + public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) + { + return new global::CppSharp.Parser.AST.HTMLTagComment(Kind); + } + } + + public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal byte hasTrailingNewline; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C TagName; + + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S0_ Attributes; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13getAttributesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal GetAttributes(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment13addAttributesERNS2_9AttributeE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddAttributes(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment15clearAttributesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearAttributes(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment10getTagNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTagName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment10setTagNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTagName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetAttributesCount(__IntPtr __instance); + } + + public unsafe partial class Attribute : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Value; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2ERKS3_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute8getValueEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetValue(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute8setValueEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetValue(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static Attribute __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Attribute(native.ToPointer(), skipVTables); + } + + internal static Attribute __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Attribute)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Attribute __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Attribute(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Attribute(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Attribute(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public Attribute() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public string Name + { + get + { + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetName(__Instance, value); + } + } + + public string Value + { + get + { + var ___ret = __Internal.GetValue(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetValue(__Instance, value); + } + } + } + + internal static new HTMLStartTagComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new HTMLStartTagComment(native.ToPointer(), skipVTables); + } + + internal static new HTMLStartTagComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (HTMLStartTagComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static HTMLStartTagComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new HTMLStartTagComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private HTMLStartTagComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected HTMLStartTagComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public HTMLStartTagComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute GetAttributes(uint i) + { + var ___ret = __Internal.GetAttributes(__Instance, i); + var _____ret = global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__CreateInstance(___ret); + global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.dtor(new __IntPtr(&___ret)); + return _____ret; + } + + public void AddAttributes(global::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(__Instance, __arg0); + } + + public void ClearAttributes() + { + __Internal.ClearAttributes(__Instance); + } + + public string TagName + { + get + { + var ___ret = __Internal.GetTagName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetTagName(__Instance, value); + } + } + + public uint AttributesCount + { + get + { + var ___ret = __Internal.GetAttributesCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal byte hasTrailingNewline; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C TagName; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagComment10getTagNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTagName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagComment10setTagNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTagName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + internal static new HTMLEndTagComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new HTMLEndTagComment(native.ToPointer(), skipVTables); + } + + internal static new HTMLEndTagComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (HTMLEndTagComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static HTMLEndTagComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new HTMLEndTagComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private HTMLEndTagComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected HTMLEndTagComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public HTMLEndTagComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public string TagName + { + get + { + var ___ret = __Internal.GetTagName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetTagName(__Instance, value); + } + } + } + + public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] + internal byte hasTrailingNewline; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + internal static new TextComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TextComment(native.ToPointer(), skipVTables); + } + + internal static new TextComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TextComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TextComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TextComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TextComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TextComment(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TextComment() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TextComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TextComment(global::CppSharp.Parser.AST.TextComment _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TextComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetText(__Instance, value); + } + } + } + + public unsafe partial class RawComment : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.RawCommentKind kind; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C BriefText; + + [FieldOffset(56)] + internal __IntPtr fullCommentBlock; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawCommentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBriefText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBriefText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.RawComment managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.RawComment managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static RawComment __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new RawComment(native.ToPointer(), skipVTables); + } + + internal static RawComment __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (RawComment)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static RawComment __CreateInstance(__Internal native, bool skipVTables = false) + { + return new RawComment(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private RawComment(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected RawComment(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public RawComment() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.RawComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public RawComment(global::CppSharp.Parser.AST.RawComment _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.RawComment.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.RawCommentKind Kind + { + get + { + return ((__Internal*)__Instance)->kind; + } + + set + { + ((__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.AST.FullComment FullCommentBlock + { + get + { + var __result0 = global::CppSharp.Parser.AST.FullComment.__GetOrCreateInstance(((__Internal*)__Instance)->fullCommentBlock, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->fullCommentBlock = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public string Text + { + get + { + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetText(__Instance, value); + } + } + + public string BriefText + { + get + { + var ___ret = __Internal.GetBriefText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetBriefText(__Instance, value); + } + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + public unsafe partial struct SourceLocation + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint ID; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser14SourceLocationC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser14SourceLocationC2Ej", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, uint ID); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser14SourceLocationC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + private SourceLocation.__Internal __instance; + internal ref SourceLocation.__Internal __Instance => ref __instance; + + internal static SourceLocation __CreateInstance(__IntPtr native, bool skipVTables = false) + { + return new SourceLocation(native.ToPointer(), skipVTables); + } + + internal static SourceLocation __CreateInstance(__Internal native, bool skipVTables = false) + { + return new SourceLocation(native, skipVTables); + } + + private SourceLocation(__Internal native, bool skipVTables = false) + : this() + { + __instance = native; + } + + private SourceLocation(void* native, bool skipVTables = false) : this() + { + __instance = *(global::CppSharp.Parser.SourceLocation.__Internal*) native; + } + + public SourceLocation() + { + fixed (__Internal* __instancePtr = &__instance) + { + __Internal.ctor(new __IntPtr(__instancePtr)); + } + } + + public SourceLocation(uint ID) + : this() + { + fixed (__Internal* __instancePtr = &__instance) + { + __Internal.ctor(new __IntPtr(__instancePtr), ID); + } + } + + public SourceLocation(global::CppSharp.Parser.SourceLocation _0) + : this() + { + var ____arg0 = _0.__Instance; + var __arg0 = new __IntPtr(&____arg0); + fixed (__Internal* __instancePtr = &__instance) + { + __Internal.cctor(new __IntPtr(__instancePtr), __arg0); + } + } + + public static implicit operator global::CppSharp.Parser.SourceLocation(uint ID) + { + return new global::CppSharp.Parser.SourceLocation(ID); + } + + public uint ID + { + get + { + return __instance.ID; + } + + set + { + __instance.ID = value; + } + } + } + + public unsafe partial class SourceRange : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11SourceRangeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.SourceRange managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.SourceRange managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static SourceRange __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new SourceRange(native.ToPointer(), skipVTables); + } + + internal static SourceRange __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (SourceRange)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static SourceRange __CreateInstance(__Internal native, bool skipVTables = false) + { + return new SourceRange(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private SourceRange(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected SourceRange(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public SourceRange(global::CppSharp.Parser.SourceRange _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.SourceRange.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); + } + + public SourceRange() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.SourceRange.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation BeginLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->beginLoc); + } + + set + { + ((__Internal*)__Instance)->beginLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EndLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->endLoc); + } + + set + { + ((__Internal*)__Instance)->endLoc = value.__Instance; + } + } + } + } +} + +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, + DependentTemplateSpecialization = 9, + TemplateParameter = 10, + TemplateParameterSubstitution = 11, + InjectedClassName = 12, + DependentName = 13, + PackExpansion = 14, + Builtin = 15, + UnaryTransform = 16, + UnresolvedUsing = 17, + Vector = 18 + } + + public enum CallingConvention + { + Default = 0, + C = 1, + StdCall = 2, + ThisCall = 3, + FastCall = 4, + Unknown = 5 + } + + public enum PrimitiveType + { + Null = 0, + Void = 1, + Bool = 2, + WideChar = 3, + Char = 4, + SChar = 5, + UChar = 6, + Char16 = 7, + Char32 = 8, + Short = 9, + UShort = 10, + Int = 11, + UInt = 12, + Long = 13, + ULong = 14, + LongLong = 15, + ULongLong = 16, + Int128 = 17, + UInt128 = 18, + Half = 19, + Float = 20, + Double = 21, + LongDouble = 22, + Float128 = 23, + IntPtr = 24 + } + + public enum ExceptionSpecType + { + None = 0, + DynamicNone = 1, + Dynamic = 2, + MSAny = 3, + BasicNoexcept = 4, + DependentNoexcept = 5, + NoexceptFalse = 6, + NoexceptTrue = 7, + Unevaluated = 8, + Uninstantiated = 9, + Unparsed = 10 + } + + public unsafe partial class Type : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.TypeKind kind); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4TypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.Type managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.Type managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static Type __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Type(native.ToPointer(), skipVTables); + } + + internal static Type __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Type)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Type __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Type(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Type(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Type(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public Type(global::CppSharp.Parser.AST.TypeKind kind) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Type.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, kind); + } + + public Type(global::CppSharp.Parser.AST.Type _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Type.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public static implicit operator global::CppSharp.Parser.AST.Type(global::CppSharp.Parser.AST.TypeKind kind) + { + return new global::CppSharp.Parser.AST.Type(kind); + } + + public global::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 uint Padding + { + get + { + return ((__Internal*)__Instance)->padding; + } + + set + { + ((__Internal*)__Instance)->padding = value; + } + } + } + + public unsafe partial class TypeQualifiers : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 3)] + public partial struct __Internal + { + [FieldOffset(0)] + internal byte isConst; + + [FieldOffset(1)] + internal byte isVolatile; + + [FieldOffset(2)] + internal byte isRestrict; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.TypeQualifiers managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.TypeQualifiers managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static TypeQualifiers __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TypeQualifiers(native.ToPointer(), skipVTables); + } + + internal static TypeQualifiers __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TypeQualifiers)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TypeQualifiers __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TypeQualifiers(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypeQualifiers(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TypeQualifiers(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); + } + + public TypeQualifiers() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + 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)] + internal __IntPtr type; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13QualifiedTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.QualifiedType managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.QualifiedType managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static QualifiedType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new QualifiedType(native.ToPointer(), skipVTables); + } + + internal static QualifiedType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (QualifiedType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static QualifiedType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new QualifiedType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private QualifiedType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected QualifiedType(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public QualifiedType() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Type Type + { + get + { + var __result0 = global::CppSharp.Parser.AST.Type.__GetOrCreateInstance(((__Internal*)__Instance)->type, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->type = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TypeQualifiers Qualifiers + { + get + { + return global::CppSharp.Parser.AST.TypeQualifiers.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiers)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiers = *(global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal __IntPtr declaration; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7TagTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7TagTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new TagType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TagType(native.ToPointer(), skipVTables); + } + + internal static new TagType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TagType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TagType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TagType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TagType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TagType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TagType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TagType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TagType(global::CppSharp.Parser.AST.TagType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TagType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->declaration, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->declaration = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + + [FieldOffset(40)] + internal long size; + + [FieldOffset(48)] + internal long elementSize; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ArrayTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public enum ArraySize + { + Constant = 0, + Variable = 1, + Dependent = 2, + Incomplete = 3 + } + + internal static new ArrayType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ArrayType(native.ToPointer(), skipVTables); + } + + internal static new ArrayType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ArrayType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ArrayType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ArrayType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private ArrayType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ArrayType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ArrayType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::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 : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(36)] + internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12FunctionTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12FunctionTypeD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12FunctionType13getParametersEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetParameters(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12FunctionType13addParametersERPNS1_9ParameterE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddParameters(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12FunctionType15clearParametersEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearParameters(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12FunctionType18getParametersCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetParametersCount(__IntPtr __instance); + } + + internal static new FunctionType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new FunctionType(native.ToPointer(), skipVTables); + } + + internal static new FunctionType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (FunctionType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static FunctionType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new FunctionType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private FunctionType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected FunctionType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public FunctionType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var ___ret = __Internal.GetParameters(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Parameter.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddParameters(__Instance, __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters(__Instance); + } + + public global::CppSharp.Parser.AST.QualifiedType ReturnType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->returnType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->returnType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + return ((__Internal*)__Instance)->callingConvention; + } + + set + { + ((__Internal*)__Instance)->callingConvention = value; + } + } + + public global::CppSharp.Parser.AST.ExceptionSpecType ExceptionSpecType + { + get + { + return ((__Internal*)__Instance)->exceptionSpecType; + } + + set + { + ((__Internal*)__Instance)->exceptionSpecType = value; + } + } + + public uint ParametersCount + { + get + { + var ___ret = __Internal.GetParametersCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11PointerTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public enum TypeModifier + { + Value = 0, + Pointer = 1, + LVReference = 2, + RVReference = 3 + } + + internal static new PointerType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new PointerType(native.ToPointer(), skipVTables); + } + + internal static new PointerType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (PointerType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static PointerType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new PointerType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private PointerType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected PointerType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public PointerType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PointerType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public PointerType(global::CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PointerType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedPointee + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedPointee)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedPointee = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.PointerType.TypeModifier Modifier + { + get + { + return ((__Internal*)__Instance)->modifier; + } + + set + { + ((__Internal*)__Instance)->modifier = value; + } + } + } + + public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new MemberPointerType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new MemberPointerType(native.ToPointer(), skipVTables); + } + + internal static new MemberPointerType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (MemberPointerType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static MemberPointerType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new MemberPointerType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private MemberPointerType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected MemberPointerType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public MemberPointerType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public global::CppSharp.Parser.AST.QualifiedType Pointee + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->pointee)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->pointee = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal __IntPtr declaration; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TypedefTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new TypedefType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TypedefType(native.ToPointer(), skipVTables); + } + + internal static new TypedefType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TypedefType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TypedefType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TypedefType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TypedefType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TypedefType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TypedefType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public global::CppSharp.Parser.AST.TypedefNameDecl Declaration + { + get + { + var __result0 = global::CppSharp.Parser.AST.TypedefNameDecl.__GetOrCreateInstance(((__Internal*)__Instance)->declaration, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->declaration = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14AttributedTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new AttributedType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new AttributedType(native.ToPointer(), skipVTables); + } + + internal static new AttributedType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (AttributedType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static AttributedType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new AttributedType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private AttributedType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected AttributedType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public AttributedType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public global::CppSharp.Parser.AST.QualifiedType Modified + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->modified)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->modified = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType Equivalent + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->equivalent)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->equivalent = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DecayedTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new DecayedType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new DecayedType(native.ToPointer(), skipVTables); + } + + internal static new DecayedType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (DecayedType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static DecayedType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new DecayedType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private DecayedType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected DecayedType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public DecayedType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public global::CppSharp.Parser.AST.QualifiedType Decayed + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->decayed)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->decayed = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType Original + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->original)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->original = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType Pointee + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->pointee)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->pointee = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class TemplateArgument : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + + [FieldOffset(8)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] + internal __IntPtr declaration; + + [FieldOffset(32)] + internal long integral; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16TemplateArgumentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public enum ArgumentKind + { + Type = 0, + Declaration = 1, + NullPtr = 2, + Integral = 3, + Template = 4, + TemplateExpansion = 5, + Expression = 6, + Pack = 7 + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.TemplateArgument managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.TemplateArgument managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static TemplateArgument __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TemplateArgument(native.ToPointer(), skipVTables); + } + + internal static TemplateArgument __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TemplateArgument)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TemplateArgument __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TemplateArgument(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private TemplateArgument(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TemplateArgument(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public TemplateArgument() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind Kind + { + get + { + return ((__Internal*)__Instance)->kind; + } + + set + { + ((__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.AST.QualifiedType Type + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->type)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->type = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->declaration, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->declaration = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public long Integral + { + get + { + return ((__Internal*)__Instance)->integral; + } + + set + { + ((__Internal*)__Instance)->integral = value; + } + } + } + + public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(40)] + internal __IntPtr _template; + + [FieldOffset(48)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12getArgumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern global::CppSharp.Parser.AST.TemplateArgument.__Internal GetArguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26TemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddArguments(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26TemplateSpecializationType14clearArgumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearArguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26TemplateSpecializationType17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetArgumentsCount(__IntPtr __instance); + } + + internal static new TemplateSpecializationType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TemplateSpecializationType(native.ToPointer(), skipVTables); + } + + internal static new TemplateSpecializationType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TemplateSpecializationType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TemplateSpecializationType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TemplateSpecializationType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TemplateSpecializationType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TemplateSpecializationType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var ___ret = __Internal.GetArguments(__Instance, i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(___ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments(__Instance, __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments(__Instance); + } + + public global::CppSharp.Parser.AST.Template Template + { + get + { + var __result0 = global::CppSharp.Parser.AST.Template.__GetOrCreateInstance(((__Internal*)__Instance)->_template, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->_template = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->desugared)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->desugared = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var ___ret = __Internal.GetArgumentsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12getArgumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern global::CppSharp.Parser.AST.TemplateArgument.__Internal GetArguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType12addArgumentsERNS1_16TemplateArgumentE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddArguments(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType14clearArgumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearArguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationType17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetArgumentsCount(__IntPtr __instance); + } + + internal static new DependentTemplateSpecializationType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new DependentTemplateSpecializationType(native.ToPointer(), skipVTables); + } + + internal static new DependentTemplateSpecializationType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (DependentTemplateSpecializationType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static DependentTemplateSpecializationType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new DependentTemplateSpecializationType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private DependentTemplateSpecializationType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected DependentTemplateSpecializationType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public DependentTemplateSpecializationType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var ___ret = __Internal.GetArguments(__Instance, i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(___ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments(__Instance, __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments(__Instance); + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->desugared)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->desugared = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint ArgumentsCount + { + get + { + var ___ret = __Internal.GetArgumentsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal __IntPtr parameter; + + [FieldOffset(24)] + internal uint depth; + + [FieldOffset(28)] + internal uint index; + + [FieldOffset(32)] + internal byte isParameterPack; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21TemplateParameterTypeD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new TemplateParameterType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TemplateParameterType(native.ToPointer(), skipVTables); + } + + internal static new TemplateParameterType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TemplateParameterType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TemplateParameterType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TemplateParameterType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TemplateParameterType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TemplateParameterType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TemplateParameterType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TypeTemplateParameter Parameter + { + get + { + var __result0 = global::CppSharp.Parser.AST.TypeTemplateParameter.__GetOrCreateInstance(((__Internal*)__Instance)->parameter, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->parameter = value is null ? __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 : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + + [FieldOffset(32)] + internal __IntPtr replacedParameter; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new TemplateParameterSubstitutionType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TemplateParameterSubstitutionType(native.ToPointer(), skipVTables); + } + + internal static new TemplateParameterSubstitutionType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TemplateParameterSubstitutionType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TemplateParameterSubstitutionType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TemplateParameterSubstitutionType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TemplateParameterSubstitutionType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TemplateParameterSubstitutionType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TemplateParameterSubstitutionType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public global::CppSharp.Parser.AST.QualifiedType Replacement + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->replacement)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->replacement = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateParameterType ReplacedParameter + { + get + { + var __result0 = global::CppSharp.Parser.AST.TemplateParameterType.__GetOrCreateInstance(((__Internal*)__Instance)->replacedParameter, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->replacedParameter = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + + [FieldOffset(32)] + internal __IntPtr _class; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new InjectedClassNameType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new InjectedClassNameType(native.ToPointer(), skipVTables); + } + + internal static new InjectedClassNameType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (InjectedClassNameType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static InjectedClassNameType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new InjectedClassNameType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private InjectedClassNameType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected InjectedClassNameType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public InjectedClassNameType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public global::CppSharp.Parser.AST.QualifiedType InjectedSpecializationType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->injectedSpecializationType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->injectedSpecializationType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Class Class + { + get + { + var __result0 = global::CppSharp.Parser.AST.Class.__GetOrCreateInstance(((__Internal*)__Instance)->_class, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->_class = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Identifier; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameType13getIdentifierEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetIdentifier(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameType13setIdentifierEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetIdentifier(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + internal static new DependentNameType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new DependentNameType(native.ToPointer(), skipVTables); + } + + internal static new DependentNameType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (DependentNameType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static DependentNameType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new DependentNameType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private DependentNameType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected DependentNameType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public DependentNameType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.QualifiedType Qualifier + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifier)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifier = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public string Identifier + { + get + { + var ___ret = __Internal.GetIdentifier(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetIdentifier(__Instance, value); + } + } + } + + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new PackExpansionType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new PackExpansionType(native.ToPointer(), skipVTables); + } + + internal static new PackExpansionType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (PackExpansionType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static PackExpansionType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new PackExpansionType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private PackExpansionType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected PackExpansionType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public PackExpansionType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + } + + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new UnaryTransformType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new UnaryTransformType(native.ToPointer(), skipVTables); + } + + internal static new UnaryTransformType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (UnaryTransformType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static UnaryTransformType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new UnaryTransformType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private UnaryTransformType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected UnaryTransformType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public UnaryTransformType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public global::CppSharp.Parser.AST.QualifiedType Desugared + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->desugared)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->desugared = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->baseType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->baseType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class UnresolvedUsingType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal __IntPtr declaration; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19UnresolvedUsingTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19UnresolvedUsingTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new UnresolvedUsingType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new UnresolvedUsingType(native.ToPointer(), skipVTables); + } + + internal static new UnresolvedUsingType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (UnresolvedUsingType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static UnresolvedUsingType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new UnresolvedUsingType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private UnresolvedUsingType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected UnresolvedUsingType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public UnresolvedUsingType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnresolvedUsingType(global::CppSharp.Parser.AST.UnresolvedUsingType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public global::CppSharp.Parser.AST.UnresolvedUsingTypename Declaration + { + get + { + var __result0 = global::CppSharp.Parser.AST.UnresolvedUsingTypename.__GetOrCreateInstance(((__Internal*)__Instance)->declaration, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->declaration = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; + + [FieldOffset(32)] + internal uint numElements; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10VectorTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new VectorType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new VectorType(native.ToPointer(), skipVTables); + } + + internal static new VectorType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (VectorType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static VectorType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new VectorType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private VectorType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected VectorType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public VectorType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VectorType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VectorType(global::CppSharp.Parser.AST.VectorType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VectorType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public global::CppSharp.Parser.AST.QualifiedType ElementType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->elementType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->elementType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public uint NumElements + { + get + { + return ((__Internal*)__Instance)->numElements; + } + + set + { + ((__Internal*)__Instance)->numElements = value; + } + } + } + + public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] + internal byte isDependent; + + [FieldOffset(8)] + internal uint padding; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.PrimitiveType type; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11BuiltinTypeC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new BuiltinType __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new BuiltinType(native.ToPointer(), skipVTables); + } + + internal static new BuiltinType __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (BuiltinType)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static BuiltinType __CreateInstance(__Internal native, bool skipVTables = false) + { + return new BuiltinType(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private BuiltinType(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected BuiltinType(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public BuiltinType() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public global::CppSharp.Parser.AST.PrimitiveType Type + { + get + { + return ((__Internal*)__Instance)->type; + } + + set + { + ((__Internal*)__Instance)->type = value; + } + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + 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, + VarTemplate = 27, + VarTemplateSpecialization = 28, + VarTemplatePartialSpecialization = 29, + UnresolvedUsingTypename = 30 + } + + public enum AccessSpecifier + { + Private = 0, + Protected = 1, + Public = 2 + } + + public enum MacroLocation + { + Unknown = 0, + ClassHead = 1, + ClassBody = 2, + FunctionHead = 3, + FunctionParameters = 4, + FunctionBody = 5 + } + + public enum StatementClassObsolete + { + Any = 0, + BinaryOperator = 1, + CallExprClass = 2, + DeclRefExprClass = 3, + CXXConstructExprClass = 4, + CXXOperatorCallExpr = 5, + ImplicitCastExpr = 6, + ExplicitCastExpr = 7 + } + + public enum FriendKind + { + None = 0, + Declared = 1, + Undeclared = 2 + } + + public enum CXXOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 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, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + } + + public enum TemplateSpecializationKind + { + Undeclared = 0, + ImplicitInstantiation = 1, + ExplicitSpecialization = 2, + ExplicitInstantiationDeclaration = 3, + ExplicitInstantiationDefinition = 4 + } + + public enum CXXMethodKind + { + Normal = 0, + Constructor = 1, + Destructor = 2, + Conversion = 3, + Operator = 4, + UsingDirective = 5 + } + + public enum RefQualifierKind + { + None = 0, + LValue = 1, + RValue = 2 + } + + public enum TagKind + { + Struct = 0, + Interface = 1, + Union = 2, + Class = 3, + Enum = 4 + } + + public enum CppAbi + { + Itanium = 0, + Microsoft = 1, + ARM = 2, + AArch64 = 3, + iOS = 4, + AppleARM64 = 5, + WebAssembly = 6 + } + + public enum RecordArgABI + { + /// + /// Pass it using the normal C aggregate rules for the ABI, + /// potentially introducing extra copies and passing some + /// or all of it in registers. + /// + Default = 0, + /// + /// Pass it on the stack using its defined layout. + /// The argument must be evaluated directly into the correct + /// stack position in the arguments area, and the call machinery + /// must not move it or introduce extra copies. + /// + DirectInMemory = 1, + /// Pass it as a pointer to temporary memory. + Indirect = 2 + } + + public enum VTableComponentKind + { + VCallOffset = 0, + VBaseOffset = 1, + OffsetToTop = 2, + RTTI = 3, + FunctionPointer = 4, + CompleteDtorPointer = 5, + DeletingDtorPointer = 6, + UnusedFunctionPointer = 7 + } + + public unsafe partial class Declaration : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 200)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DeclarationC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DeclarationD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration23getPreprocessedEntitiesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetPreprocessedEntities(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration23addPreprocessedEntitiesERPNS1_18PreprocessedEntityE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddPreprocessedEntities(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration25clearPreprocessedEntitiesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearPreprocessedEntities(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration17getRedeclarationsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetRedeclarations(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration17addRedeclarationsERPS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddRedeclarations(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearRedeclarations(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration6getUSREv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetUSR(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration6setUSREPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetUSR(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetDebugText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetDebugText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetPreprocessedEntitiesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration22getRedeclarationsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetRedeclarationsCount(__IntPtr __instance); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.Declaration managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.Declaration managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static Declaration __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Declaration(native.ToPointer(), skipVTables); + } + + internal static Declaration __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Declaration)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Declaration __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Declaration(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Declaration(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Declaration(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Declaration.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, kind); + } + + public Declaration(global::CppSharp.Parser.AST.Declaration _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Declaration.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.PreprocessedEntity GetPreprocessedEntities(uint i) + { + var ___ret = __Internal.GetPreprocessedEntities(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.PreprocessedEntity.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddPreprocessedEntities(global::CppSharp.Parser.AST.PreprocessedEntity s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddPreprocessedEntities(__Instance, __arg0); + } + + public void ClearPreprocessedEntities() + { + __Internal.ClearPreprocessedEntities(__Instance); + } + + public global::CppSharp.Parser.AST.Declaration GetRedeclarations(uint i) + { + var ___ret = __Internal.GetRedeclarations(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddRedeclarations(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddRedeclarations(__Instance, __arg0); + } + + public void ClearRedeclarations() + { + __Internal.ClearRedeclarations(__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Declaration(kind); + } + + public global::CppSharp.Parser.AST.DeclarationKind Kind + { + get + { + return ((__Internal*)__Instance)->kind; + } + + set + { + ((__Internal*)__Instance)->kind = value; + } + } + + public int AlignAs + { + get + { + return ((__Internal*)__Instance)->alignAs; + } + + set + { + ((__Internal*)__Instance)->alignAs = value; + } + } + + public int MaxFieldAlignment + { + get + { + return ((__Internal*)__Instance)->maxFieldAlignment; + } + + set + { + ((__Internal*)__Instance)->maxFieldAlignment = value; + } + } + + public global::CppSharp.Parser.AST.AccessSpecifier Access + { + get + { + return ((__Internal*)__Instance)->access; + } + + set + { + ((__Internal*)__Instance)->access = value; + } + } + + public global::CppSharp.Parser.AST.DeclarationContext Namespace + { + get + { + var __result0 = global::CppSharp.Parser.AST.DeclarationContext.__GetOrCreateInstance(((__Internal*)__Instance)->_namespace, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->_namespace = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::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 bool IsInvalid + { + get + { + return ((__Internal*)__Instance)->isInvalid != 0; + } + + set + { + ((__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + } + } + + public bool IsDeprecated + { + get + { + return ((__Internal*)__Instance)->isDeprecated != 0; + } + + set + { + ((__Internal*)__Instance)->isDeprecated = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + { + get + { + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->completeDeclaration, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->completeDeclaration = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint DefinitionOrder + { + get + { + return ((__Internal*)__Instance)->definitionOrder; + } + + set + { + ((__Internal*)__Instance)->definitionOrder = value; + } + } + + public __IntPtr OriginalPtr + { + get + { + return ((__Internal*)__Instance)->originalPtr; + } + + set + { + ((__Internal*)__Instance)->originalPtr = (__IntPtr) value; + } + } + + public global::CppSharp.Parser.AST.RawComment Comment + { + get + { + var __result0 = global::CppSharp.Parser.AST.RawComment.__GetOrCreateInstance(((__Internal*)__Instance)->comment, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->comment = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public string Name + { + get + { + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetName(__Instance, value); + } + } + + public string USR + { + get + { + var ___ret = __Internal.GetUSR(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetUSR(__Instance, value); + } + } + + public string DebugText + { + get + { + var ___ret = __Internal.GetDebugText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetDebugText(__Instance, value); + } + } + + public uint PreprocessedEntitiesCount + { + get + { + var ___ret = __Internal.GetPreprocessedEntitiesCount(__Instance); + return ___ret; + } + } + + public uint RedeclarationsCount + { + get + { + var ___ret = __Internal.GetRedeclarationsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 448)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContextC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContextD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext13getNamespacesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetNamespaces(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext13addNamespacesERPNS1_9NamespaceE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddNamespaces(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext15clearNamespacesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearNamespaces(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext8getEnumsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetEnums(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext8addEnumsERPNS1_11EnumerationE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddEnums(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext10clearEnumsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearEnums(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext12getFunctionsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFunctions(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext12addFunctionsERPNS1_8FunctionE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddFunctions(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext14clearFunctionsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearFunctions(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext10getClassesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetClasses(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext10addClassesERPNS1_5ClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddClasses(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext12clearClassesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearClasses(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext12getTemplatesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTemplates(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext12addTemplatesERPNS1_8TemplateE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddTemplates(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext14clearTemplatesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearTemplates(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext11getTypedefsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTypedefs(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext11addTypedefsERPNS1_11TypedefDeclE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddTypedefs(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext13clearTypedefsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearTypedefs(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext14getTypeAliasesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTypeAliases(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext14addTypeAliasesERPNS1_9TypeAliasE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddTypeAliases(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext16clearTypeAliasesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearTypeAliases(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext12getVariablesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetVariables(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext12addVariablesERPNS1_8VariableE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddVariables(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext14clearVariablesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearVariables(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext10getFriendsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFriends(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext10addFriendsERPNS1_6FriendE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddFriends(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext12clearFriendsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearFriends(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext18getNamespacesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetNamespacesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext13getEnumsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetEnumsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext17getFunctionsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetFunctionsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext15getClassesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetClassesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext17getTemplatesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetTemplatesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext16getTypedefsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetTypedefsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext19getTypeAliasesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetTypeAliasesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext17getVariablesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetVariablesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContext15getFriendsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetFriendsCount(__IntPtr __instance); + } + + internal static new DeclarationContext __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new DeclarationContext(native.ToPointer(), skipVTables); + } + + internal static new DeclarationContext __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (DeclarationContext)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static DeclarationContext __CreateInstance(__Internal native, bool skipVTables = false) + { + return new DeclarationContext(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private DeclarationContext(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected DeclarationContext(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, kind); + } + + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Namespace GetNamespaces(uint i) + { + var ___ret = __Internal.GetNamespaces(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Namespace.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddNamespaces(global::CppSharp.Parser.AST.Namespace s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddNamespaces(__Instance, __arg0); + } + + public void ClearNamespaces() + { + __Internal.ClearNamespaces(__Instance); + } + + public global::CppSharp.Parser.AST.Enumeration GetEnums(uint i) + { + var ___ret = __Internal.GetEnums(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Enumeration.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddEnums(global::CppSharp.Parser.AST.Enumeration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddEnums(__Instance, __arg0); + } + + public void ClearEnums() + { + __Internal.ClearEnums(__Instance); + } + + public global::CppSharp.Parser.AST.Function GetFunctions(uint i) + { + var ___ret = __Internal.GetFunctions(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddFunctions(global::CppSharp.Parser.AST.Function s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddFunctions(__Instance, __arg0); + } + + public void ClearFunctions() + { + __Internal.ClearFunctions(__Instance); + } + + public global::CppSharp.Parser.AST.Class GetClasses(uint i) + { + var ___ret = __Internal.GetClasses(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Class.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddClasses(global::CppSharp.Parser.AST.Class s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddClasses(__Instance, __arg0); + } + + public void ClearClasses() + { + __Internal.ClearClasses(__Instance); + } + + public global::CppSharp.Parser.AST.Template GetTemplates(uint i) + { + var ___ret = __Internal.GetTemplates(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Template.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddTemplates(global::CppSharp.Parser.AST.Template s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddTemplates(__Instance, __arg0); + } + + public void ClearTemplates() + { + __Internal.ClearTemplates(__Instance); + } + + public global::CppSharp.Parser.AST.TypedefDecl GetTypedefs(uint i) + { + var ___ret = __Internal.GetTypedefs(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.TypedefDecl.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddTypedefs(global::CppSharp.Parser.AST.TypedefDecl s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddTypedefs(__Instance, __arg0); + } + + public void ClearTypedefs() + { + __Internal.ClearTypedefs(__Instance); + } + + public global::CppSharp.Parser.AST.TypeAlias GetTypeAliases(uint i) + { + var ___ret = __Internal.GetTypeAliases(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.TypeAlias.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddTypeAliases(global::CppSharp.Parser.AST.TypeAlias s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddTypeAliases(__Instance, __arg0); + } + + public void ClearTypeAliases() + { + __Internal.ClearTypeAliases(__Instance); + } + + public global::CppSharp.Parser.AST.Variable GetVariables(uint i) + { + var ___ret = __Internal.GetVariables(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Variable.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddVariables(global::CppSharp.Parser.AST.Variable s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddVariables(__Instance, __arg0); + } + + public void ClearVariables() + { + __Internal.ClearVariables(__Instance); + } + + public global::CppSharp.Parser.AST.Friend GetFriends(uint i) + { + var ___ret = __Internal.GetFriends(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Friend.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddFriends(global::CppSharp.Parser.AST.Friend s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddFriends(__Instance, __arg0); + } + + public void ClearFriends() + { + __Internal.ClearFriends(__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.DeclarationContext(kind); + } + + public bool IsAnonymous + { + get + { + return ((__Internal*)__Instance)->isAnonymous != 0; + } + + set + { + ((__Internal*)__Instance)->isAnonymous = (byte) (value ? 1 : 0); + } + } + + public uint NamespacesCount + { + get + { + var ___ret = __Internal.GetNamespacesCount(__Instance); + return ___ret; + } + } + + public uint EnumsCount + { + get + { + var ___ret = __Internal.GetEnumsCount(__Instance); + return ___ret; + } + } + + public uint FunctionsCount + { + get + { + var ___ret = __Internal.GetFunctionsCount(__Instance); + return ___ret; + } + } + + public uint ClassesCount + { + get + { + var ___ret = __Internal.GetClassesCount(__Instance); + return ___ret; + } + } + + public uint TemplatesCount + { + get + { + var ___ret = __Internal.GetTemplatesCount(__Instance); + return ___ret; + } + } + + public uint TypedefsCount + { + get + { + var ___ret = __Internal.GetTypedefsCount(__Instance); + return ___ret; + } + } + + public uint TypeAliasesCount + { + get + { + var ___ret = __Internal.GetTypeAliasesCount(__Instance); + return ___ret; + } + } + + public uint VariablesCount + { + get + { + var ___ret = __Internal.GetVariablesCount(__Instance); + return ___ret; + } + } + + public uint FriendsCount + { + get + { + var ___ret = __Internal.GetFriendsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 216)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TypedefNameDeclD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new TypedefNameDecl __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TypedefNameDecl(native.ToPointer(), skipVTables); + } + + internal static new TypedefNameDecl __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TypedefNameDecl)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TypedefNameDecl __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TypedefNameDecl(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TypedefNameDecl(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TypedefNameDecl(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, kind); + } + + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public static implicit operator global::CppSharp.Parser.AST.TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TypedefNameDecl(kind); + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 216)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TypedefDeclC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TypedefDeclD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new TypedefDecl __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TypedefDecl(native.ToPointer(), skipVTables); + } + + internal static new TypedefDecl __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TypedefDecl)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TypedefDecl __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TypedefDecl(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TypedefDecl(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TypedefDecl(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TypedefDecl() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 224)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(216)] + internal __IntPtr describedAliasTemplate; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9TypeAliasC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9TypeAliasD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new TypeAlias __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TypeAlias(native.ToPointer(), skipVTables); + } + + internal static new TypeAlias __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TypeAlias)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TypeAlias __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TypeAlias(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TypeAlias(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TypeAlias(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TypeAlias() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TypeAliasTemplate DescribedAliasTemplate + { + get + { + var __result0 = global::CppSharp.Parser.AST.TypeAliasTemplate.__GetOrCreateInstance(((__Internal*)__Instance)->describedAliasTemplate, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->describedAliasTemplate = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 208)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal __IntPtr declaration; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6FriendC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6FriendC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6FriendD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new Friend __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Friend(native.ToPointer(), skipVTables); + } + + internal static new Friend __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Friend)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Friend __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Friend(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Friend(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Friend(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public Friend() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Friend.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Friend(global::CppSharp.Parser.AST.Friend _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Friend.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->declaration, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->declaration = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class StatementObsolete : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] + internal __IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsoleteD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsolete9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsolete9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.StatementObsolete managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.StatementObsolete managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static StatementObsolete __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new StatementObsolete(native.ToPointer(), skipVTables); + } + + internal static StatementObsolete __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (StatementObsolete)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static StatementObsolete __CreateInstance(__Internal native, bool skipVTables = false) + { + return new StatementObsolete(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.StatementObsolete.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private StatementObsolete(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected StatementObsolete(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.StatementClassObsolete Class + { + get + { + return ((__Internal*)__Instance)->_class; + } + + set + { + ((__Internal*)__Instance)->_class = value; + } + } + + public global::CppSharp.Parser.AST.Declaration Decl + { + get + { + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->decl, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->decl = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public string String + { + get + { + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetString(__Instance, value); + } + } + } + + public unsafe partial class ExpressionObsolete : global::CppSharp.Parser.AST.StatementObsolete, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] + internal __IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ExpressionObsoleteD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new ExpressionObsolete __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ExpressionObsolete(native.ToPointer(), skipVTables); + } + + internal static new ExpressionObsolete __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ExpressionObsolete)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ExpressionObsolete __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ExpressionObsolete(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.ExpressionObsolete.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private ExpressionObsolete(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ExpressionObsolete(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class BinaryOperatorObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] + internal __IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(40)] + internal __IntPtr LHS; + + [FieldOffset(48)] + internal __IntPtr RHS; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C OpcodeStr; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsolete12getOpcodeStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetOpcodeStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsolete12setOpcodeStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetOpcodeStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + internal static new BinaryOperatorObsolete __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new BinaryOperatorObsolete(native.ToPointer(), skipVTables); + } + + internal static new BinaryOperatorObsolete __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (BinaryOperatorObsolete)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static BinaryOperatorObsolete __CreateInstance(__Internal native, bool skipVTables = false) + { + return new BinaryOperatorObsolete(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private BinaryOperatorObsolete(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected BinaryOperatorObsolete(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.ExpressionObsolete LHS + { + get + { + var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(((__Internal*)__Instance)->LHS, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->LHS = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.ExpressionObsolete RHS + { + get + { + var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(((__Internal*)__Instance)->RHS, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->RHS = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public string OpcodeStr + { + get + { + var ___ret = __Internal.GetOpcodeStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetOpcodeStr(__Instance, value); + } + } + } + + public unsafe partial class CallExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] + internal __IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ Arguments; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CallExprObsoleteD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CallExprObsolete12getArgumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetArguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CallExprObsolete12addArgumentsERPNS1_18ExpressionObsoleteE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddArguments(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CallExprObsolete14clearArgumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearArguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CallExprObsolete17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetArgumentsCount(__IntPtr __instance); + } + + internal static new CallExprObsolete __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CallExprObsolete(native.ToPointer(), skipVTables); + } + + internal static new CallExprObsolete __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CallExprObsolete)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CallExprObsolete __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CallExprObsolete(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.CallExprObsolete.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CallExprObsolete(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CallExprObsolete(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.ExpressionObsolete GetArguments(uint i) + { + var ___ret = __Internal.GetArguments(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddArguments(global::CppSharp.Parser.AST.ExpressionObsolete s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddArguments(__Instance, __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments(__Instance); + } + + public uint ArgumentsCount + { + get + { + var ___ret = __Internal.GetArgumentsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class CXXConstructExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] + internal __IntPtr decl; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ Arguments; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete12getArgumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetArguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete12addArgumentsERPNS1_18ExpressionObsoleteE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddArguments(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete14clearArgumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearArguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXConstructExprObsolete17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetArgumentsCount(__IntPtr __instance); + } + + internal static new CXXConstructExprObsolete __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXConstructExprObsolete(native.ToPointer(), skipVTables); + } + + internal static new CXXConstructExprObsolete __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXConstructExprObsolete)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXConstructExprObsolete __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXConstructExprObsolete(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXConstructExprObsolete(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXConstructExprObsolete(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.ExpressionObsolete GetArguments(uint i) + { + var ___ret = __Internal.GetArguments(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddArguments(global::CppSharp.Parser.AST.ExpressionObsolete s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddArguments(__Instance, __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments(__Instance); + } + + public uint ArgumentsCount + { + get + { + var ___ret = __Internal.GetArgumentsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 240)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(216)] + internal byte isIndirect; + + [FieldOffset(217)] + internal byte hasDefaultValue; + + [FieldOffset(220)] + internal uint index; + + [FieldOffset(224)] + internal __IntPtr defaultArgument; + + [FieldOffset(232)] + internal __IntPtr defaultValue; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ParameterC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ParameterD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new Parameter __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Parameter(native.ToPointer(), skipVTables); + } + + internal static new Parameter __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Parameter)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Parameter __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Parameter(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Parameter(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Parameter(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public Parameter() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Parameter.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Parameter(global::CppSharp.Parser.AST.Parameter _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Parameter.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::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 global::CppSharp.Parser.AST.ExpressionObsolete DefaultArgument + { + get + { + var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(((__Internal*)__Instance)->defaultArgument, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->defaultArgument = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr DefaultValue + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->defaultValue, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->defaultValue = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 624)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(448)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(464)] + internal byte isReturnIndirect; + + [FieldOffset(465)] + internal byte hasThisReturn; + + [FieldOffset(466)] + internal byte isConstExpr; + + [FieldOffset(467)] + internal byte isVariadic; + + [FieldOffset(468)] + internal byte isInline; + + [FieldOffset(469)] + internal byte isPure; + + [FieldOffset(470)] + internal byte isDeleted; + + [FieldOffset(471)] + internal byte isDefaulted; + + [FieldOffset(472)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(476)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(480)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(504)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Signature; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Body; + + [FieldOffset(552)] + internal __IntPtr bodyStmt; + + [FieldOffset(560)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(568)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(592)] + internal __IntPtr specializationInfo; + + [FieldOffset(600)] + internal __IntPtr instantiatedFrom; + + [FieldOffset(608)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8FunctionC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8FunctionC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8FunctionD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function13getParametersEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetParameters(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function13addParametersERPNS1_9ParameterE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddParameters(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function15clearParametersEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearParameters(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function10getMangledEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMangled(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMangled(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function12getSignatureEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetSignature(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetSignature(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function7getBodyEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBody(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBody(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetParametersCount(__IntPtr __instance); + } + + internal static new Function __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Function(native.ToPointer(), skipVTables); + } + + internal static new Function __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Function)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Function __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Function(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Function(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Function(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public Function() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Function.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Function(global::CppSharp.Parser.AST.Function _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Function.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Parameter GetParameters(uint i) + { + var ___ret = __Internal.GetParameters(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Parameter.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Parameter s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddParameters(__Instance, __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters(__Instance); + } + + public global::CppSharp.Parser.AST.QualifiedType ReturnType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->returnType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->returnType = *(global::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 IsConstExpr + { + get + { + return ((__Internal*)__Instance)->isConstExpr != 0; + } + + set + { + ((__Internal*)__Instance)->isConstExpr = (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 bool IsDefaulted + { + get + { + return ((__Internal*)__Instance)->isDefaulted != 0; + } + + set + { + ((__Internal*)__Instance)->isDefaulted = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.FriendKind FriendKind + { + get + { + return ((__Internal*)__Instance)->friendKind; + } + + set + { + ((__Internal*)__Instance)->friendKind = value; + } + } + + public global::CppSharp.Parser.AST.CXXOperatorKind OperatorKind + { + get + { + return ((__Internal*)__Instance)->operatorKind; + } + + set + { + ((__Internal*)__Instance)->operatorKind = value; + } + } + + public global::CppSharp.Parser.AST.Stmt BodyStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->bodyStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->bodyStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + return ((__Internal*)__Instance)->callingConvention; + } + + set + { + ((__Internal*)__Instance)->callingConvention = value; + } + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + var __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__GetOrCreateInstance(((__Internal*)__Instance)->specializationInfo, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->specializationInfo = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(((__Internal*)__Instance)->instantiatedFrom, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->instantiatedFrom = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public string Mangled + { + get + { + var ___ret = __Internal.GetMangled(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetMangled(__Instance, value); + } + } + + public string Signature + { + get + { + var ___ret = __Internal.GetSignature(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetSignature(__Instance, value); + } + } + + public string Body + { + get + { + var ___ret = __Internal.GetBody(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetBody(__Instance, value); + } + } + + public uint ParametersCount + { + get + { + var ___ret = __Internal.GetParametersCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 688)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(448)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(464)] + internal byte isReturnIndirect; + + [FieldOffset(465)] + internal byte hasThisReturn; + + [FieldOffset(466)] + internal byte isConstExpr; + + [FieldOffset(467)] + internal byte isVariadic; + + [FieldOffset(468)] + internal byte isInline; + + [FieldOffset(469)] + internal byte isPure; + + [FieldOffset(470)] + internal byte isDeleted; + + [FieldOffset(471)] + internal byte isDefaulted; + + [FieldOffset(472)] + internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(476)] + internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; + + [FieldOffset(480)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(504)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Signature; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Body; + + [FieldOffset(552)] + internal __IntPtr bodyStmt; + + [FieldOffset(560)] + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(568)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(592)] + internal __IntPtr specializationInfo; + + [FieldOffset(600)] + internal __IntPtr instantiatedFrom; + + [FieldOffset(608)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(624)] + internal byte isVirtual; + + [FieldOffset(625)] + internal byte isStatic; + + [FieldOffset(626)] + internal byte isConst; + + [FieldOffset(627)] + internal byte isExplicit; + + [FieldOffset(628)] + internal byte isVolatile; + + [FieldOffset(632)] + internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + + [FieldOffset(636)] + internal byte isDefaultConstructor; + + [FieldOffset(637)] + internal byte isCopyConstructor; + + [FieldOffset(638)] + internal byte isMoveConstructor; + + [FieldOffset(640)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(656)] + internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(664)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ OverriddenMethods; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6MethodC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6MethodC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6MethodD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6Method20getOverriddenMethodsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetOverriddenMethods(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6Method20addOverriddenMethodsERPS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddOverriddenMethods(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6Method22clearOverriddenMethodsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearOverriddenMethods(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6Method25getOverriddenMethodsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetOverriddenMethodsCount(__IntPtr __instance); + } + + internal static new Method __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Method(native.ToPointer(), skipVTables); + } + + internal static new Method __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Method)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Method __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Method(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Method(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Method(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public Method() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Method.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Method(global::CppSharp.Parser.AST.Method _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Method.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Method GetOverriddenMethods(uint i) + { + var ___ret = __Internal.GetOverriddenMethods(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Method.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddOverriddenMethods(global::CppSharp.Parser.AST.Method s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddOverriddenMethods(__Instance, __arg0); + } + + public void ClearOverriddenMethods() + { + __Internal.ClearOverriddenMethods(__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 IsVolatile + { + get + { + return ((__Internal*)__Instance)->isVolatile != 0; + } + + set + { + ((__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); + } + } + + public global::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 global::CppSharp.Parser.AST.QualifiedType ConversionType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->conversionType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->conversionType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.RefQualifierKind RefQualifier + { + get + { + return ((__Internal*)__Instance)->refQualifier; + } + + set + { + ((__Internal*)__Instance)->refQualifier = value; + } + } + + public uint OverriddenMethodsCount + { + get + { + var ___ret = __Internal.GetOverriddenMethodsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 488)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(444)] + internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(448)] + internal __IntPtr type; + + [FieldOffset(456)] + internal __IntPtr builtinType; + + [FieldOffset(464)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S0_ Items; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11EnumerationC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11EnumerationC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11EnumerationD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration8getItemsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetItems(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration8addItemsERPNS2_4ItemE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddItems(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearItems(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetItemsCount(__IntPtr __instance); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } + + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Expression; + + [FieldOffset(224)] + internal ulong value; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2ERKS3_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetExpression(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetExpression(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + internal static new Item __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Item(native.ToPointer(), skipVTables); + } + + internal static new Item __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Item)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Item __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Item(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Item(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Item(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public Item() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public ulong Value + { + get + { + return ((__Internal*)__Instance)->value; + } + + set + { + ((__Internal*)__Instance)->value = value; + } + } + + public string Expression + { + get + { + var ___ret = __Internal.GetExpression(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetExpression(__Instance, value); + } + } + } + + internal static new Enumeration __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Enumeration(native.ToPointer(), skipVTables); + } + + internal static new Enumeration __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Enumeration)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Enumeration __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Enumeration(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Enumeration(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Enumeration(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public Enumeration() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Enumeration.Item GetItems(uint i) + { + var ___ret = __Internal.GetItems(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddItems(global::CppSharp.Parser.AST.Enumeration.Item s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddItems(__Instance, __arg0); + } + + public void ClearItems() + { + __Internal.ClearItems(__Instance); + } + + public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers + { + get + { + return ((__Internal*)__Instance)->modifiers; + } + + set + { + ((__Internal*)__Instance)->modifiers = value; + } + } + + public global::CppSharp.Parser.AST.Type Type + { + get + { + var __result0 = global::CppSharp.Parser.AST.Type.__GetOrCreateInstance(((__Internal*)__Instance)->type, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->type = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BuiltinType BuiltinType + { + get + { + var __result0 = global::CppSharp.Parser.AST.BuiltinType.__GetOrCreateInstance(((__Internal*)__Instance)->builtinType, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->builtinType = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint ItemsCount + { + get + { + var ___ret = __Internal.GetItemsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal byte isConstExpr; + + [FieldOffset(208)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(232)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(248)] + internal __IntPtr initializer; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8VariableC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8VariableC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8VariableD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Variable10getMangledEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMangled(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMangled(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + internal static new Variable __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Variable(native.ToPointer(), skipVTables); + } + + internal static new Variable __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Variable)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Variable __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Variable(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Variable(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Variable(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public Variable() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Variable.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Variable(global::CppSharp.Parser.AST.Variable _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Variable.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public bool IsConstExpr + { + get + { + return ((__Internal*)__Instance)->isConstExpr != 0; + } + + set + { + ((__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.ExpressionObsolete Initializer + { + get + { + var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(((__Internal*)__Instance)->initializer, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->initializer = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public string Mangled + { + get + { + var ___ret = __Internal.GetMangled(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetMangled(__Instance, value); + } + } + } + + public unsafe partial class BaseClassSpecifier : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(4)] + internal byte isVirtual; + + [FieldOffset(8)] + internal __IntPtr type; + + [FieldOffset(16)] + internal int offset; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.BaseClassSpecifier managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.BaseClassSpecifier managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static BaseClassSpecifier __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new BaseClassSpecifier(native.ToPointer(), skipVTables); + } + + internal static BaseClassSpecifier __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (BaseClassSpecifier)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static BaseClassSpecifier __CreateInstance(__Internal native, bool skipVTables = false) + { + return new BaseClassSpecifier(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private BaseClassSpecifier(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected BaseClassSpecifier(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public BaseClassSpecifier() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::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 global::CppSharp.Parser.AST.Type Type + { + get + { + var __result0 = global::CppSharp.Parser.AST.Type.__GetOrCreateInstance(((__Internal*)__Instance)->type, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->type = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public int Offset + { + get + { + return ((__Internal*)__Instance)->offset; + } + + set + { + ((__Internal*)__Instance)->offset = value; + } + } + } + + public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(216)] + internal __IntPtr _class; + + [FieldOffset(224)] + internal byte isBitField; + + [FieldOffset(228)] + internal uint bitWidth; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5FieldC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5FieldC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5FieldD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new Field __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Field(native.ToPointer(), skipVTables); + } + + internal static new Field __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Field)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Field __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Field(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Field(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Field(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public Field() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Field.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Field(global::CppSharp.Parser.AST.Field _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Field.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Class Class + { + get + { + var __result0 = global::CppSharp.Parser.AST.Class.__GetOrCreateInstance(((__Internal*)__Instance)->_class, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->_class = value is null ? __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 : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 200)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new AccessSpecifierDecl __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new AccessSpecifierDecl(native.ToPointer(), skipVTables); + } + + internal static new AccessSpecifierDecl __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (AccessSpecifierDecl)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static AccessSpecifierDecl __CreateInstance(__Internal native, bool skipVTables = false) + { + return new AccessSpecifierDecl(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private AccessSpecifierDecl(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected AccessSpecifierDecl(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public AccessSpecifierDecl() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.VTableComponentKind kind; + + [FieldOffset(4)] + internal uint offset; + + [FieldOffset(8)] + internal __IntPtr declaration; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15VTableComponentC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.VTableComponent managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.VTableComponent managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static VTableComponent __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new VTableComponent(native.ToPointer(), skipVTables); + } + + internal static VTableComponent __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (VTableComponent)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static VTableComponent __CreateInstance(__Internal native, bool skipVTables = false) + { + return new VTableComponent(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private VTableComponent(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected VTableComponent(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public VTableComponent() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::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 global::CppSharp.Parser.AST.Declaration Declaration + { + get + { + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->declaration, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->declaration = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class VTableLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S0_ Components; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12VTableLayoutC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12VTableLayoutD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12VTableLayout13getComponentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern global::CppSharp.Parser.AST.VTableComponent.__Internal GetComponents(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12VTableLayout13addComponentsERNS1_15VTableComponentE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddComponents(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12VTableLayout15clearComponentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearComponents(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12VTableLayout18getComponentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetComponentsCount(__IntPtr __instance); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.VTableLayout managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.VTableLayout managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static VTableLayout __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new VTableLayout(native.ToPointer(), skipVTables); + } + + internal static VTableLayout __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (VTableLayout)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static VTableLayout __CreateInstance(__Internal native, bool skipVTables = false) + { + return new VTableLayout(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private VTableLayout(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected VTableLayout(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public VTableLayout() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.VTableComponent GetComponents(uint i) + { + var ___ret = __Internal.GetComponents(__Instance, i); + return global::CppSharp.Parser.AST.VTableComponent.__CreateInstance(___ret); + } + + public void AddComponents(global::CppSharp.Parser.AST.VTableComponent s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddComponents(__Instance, __arg0); + } + + public void ClearComponents() + { + __Internal.ClearComponents(__Instance); + } + + public uint ComponentsCount + { + get + { + var ___ret = __Internal.GetComponentsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class VFTableInfo : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal ulong VBTableIndex; + + [FieldOffset(8)] + internal uint VFPtrOffset; + + [FieldOffset(12)] + internal uint VFPtrFullOffset; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VFTableInfoC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VFTableInfoD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.VFTableInfo managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.VFTableInfo managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static VFTableInfo __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new VFTableInfo(native.ToPointer(), skipVTables); + } + + internal static VFTableInfo __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (VFTableInfo)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static VFTableInfo __CreateInstance(__Internal native, bool skipVTables = false) + { + return new VFTableInfo(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private VFTableInfo(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected VFTableInfo(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public VFTableInfo() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + 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 global::CppSharp.Parser.AST.VTableLayout Layout + { + get + { + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->layout)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->layout = *(global::CppSharp.Parser.AST.VTableLayout.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class LayoutField : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint offset; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(48)] + internal __IntPtr fieldPtr; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutFieldC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr other); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutField7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutField7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.LayoutField managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.LayoutField managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static LayoutField __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new LayoutField(native.ToPointer(), skipVTables); + } + + internal static LayoutField __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (LayoutField)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static LayoutField __CreateInstance(__Internal native, bool skipVTables = false) + { + return new LayoutField(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private LayoutField(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected LayoutField(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public LayoutField() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public uint Offset + { + get + { + return ((__Internal*)__Instance)->offset; + } + + set + { + ((__Internal*)__Instance)->offset = value; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public __IntPtr FieldPtr + { + get + { + return ((__Internal*)__Instance)->fieldPtr; + } + + set + { + ((__Internal*)__Instance)->fieldPtr = (__IntPtr) value; + } + } + + public string Name + { + get + { + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetName(__Instance, value); + } + } + } + + public unsafe partial class LayoutBase : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal uint offset; + + [FieldOffset(8)] + internal __IntPtr _class; + + [FieldOffset(16)] + internal uint padding; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LayoutBaseC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr other); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LayoutBaseD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.LayoutBase managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.LayoutBase managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static LayoutBase __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new LayoutBase(native.ToPointer(), skipVTables); + } + + internal static LayoutBase __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (LayoutBase)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static LayoutBase __CreateInstance(__Internal native, bool skipVTables = false) + { + return new LayoutBase(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private LayoutBase(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected LayoutBase(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public LayoutBase() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(other, null)) + throw new global::System.ArgumentNullException("other", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = other.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public uint Offset + { + get + { + return ((__Internal*)__Instance)->offset; + } + + set + { + ((__Internal*)__Instance)->offset = value; + } + } + + public global::CppSharp.Parser.AST.Class Class + { + get + { + var __result0 = global::CppSharp.Parser.AST.Class.__GetOrCreateInstance(((__Internal*)__Instance)->_class, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->_class = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint Padding + { + get + { + return ((__Internal*)__Instance)->padding; + } + + set + { + ((__Internal*)__Instance)->padding = value; + } + } + } + + public unsafe partial class ClassLayout : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CppAbi ABI; + + [FieldOffset(4)] + internal global::CppSharp.Parser.AST.RecordArgABI argABI; + + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S0_ VFTables; + + [FieldOffset(32)] + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + + [FieldOffset(56)] + internal byte hasOwnVFPtr; + + [FieldOffset(64)] + internal long VBPtrOffset; + + [FieldOffset(72)] + internal int alignment; + + [FieldOffset(76)] + internal int size; + + [FieldOffset(80)] + internal int dataSize; + + [FieldOffset(88)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(112)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S0_ Bases; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayoutC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayoutD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayout11getVFTablesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern global::CppSharp.Parser.AST.VFTableInfo.__Internal GetVFTables(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayout11addVFTablesERNS1_11VFTableInfoE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddVFTables(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayout13clearVFTablesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearVFTables(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayout9getFieldsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern global::CppSharp.Parser.AST.LayoutField.__Internal GetFields(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayout9addFieldsERNS1_11LayoutFieldE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddFields(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayout11clearFieldsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearFields(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayout8getBasesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern global::CppSharp.Parser.AST.LayoutBase.__Internal GetBases(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayout8addBasesERNS1_10LayoutBaseE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddBases(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayout10clearBasesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearBases(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayout16getVFTablesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetVFTablesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayout14getFieldsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetFieldsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayout13getBasesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetBasesCount(__IntPtr __instance); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.ClassLayout managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.ClassLayout managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static ClassLayout __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ClassLayout(native.ToPointer(), skipVTables); + } + + internal static ClassLayout __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ClassLayout)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ClassLayout __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ClassLayout(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private ClassLayout(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ClassLayout(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public ClassLayout() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + { + var ___ret = __Internal.GetVFTables(__Instance, i); + var _____ret = global::CppSharp.Parser.AST.VFTableInfo.__CreateInstance(___ret); + global::CppSharp.Parser.AST.VFTableInfo.__Internal.dtor(new __IntPtr(&___ret)); + return _____ret; + } + + public void AddVFTables(global::CppSharp.Parser.AST.VFTableInfo s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddVFTables(__Instance, __arg0); + } + + public void ClearVFTables() + { + __Internal.ClearVFTables(__Instance); + } + + public global::CppSharp.Parser.AST.LayoutField GetFields(uint i) + { + var ___ret = __Internal.GetFields(__Instance, i); + var _____ret = global::CppSharp.Parser.AST.LayoutField.__CreateInstance(___ret); + global::CppSharp.Parser.AST.LayoutField.__Internal.dtor(new __IntPtr(&___ret)); + return _____ret; + } + + public void AddFields(global::CppSharp.Parser.AST.LayoutField s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddFields(__Instance, __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields(__Instance); + } + + public global::CppSharp.Parser.AST.LayoutBase GetBases(uint i) + { + var ___ret = __Internal.GetBases(__Instance, i); + var _____ret = global::CppSharp.Parser.AST.LayoutBase.__CreateInstance(___ret); + global::CppSharp.Parser.AST.LayoutBase.__Internal.dtor(new __IntPtr(&___ret)); + return _____ret; + } + + public void AddBases(global::CppSharp.Parser.AST.LayoutBase s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddBases(__Instance, __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases(__Instance); + } + + public global::CppSharp.Parser.AST.CppAbi ABI + { + get + { + return ((__Internal*)__Instance)->ABI; + } + + set + { + ((__Internal*)__Instance)->ABI = value; + } + } + + public global::CppSharp.Parser.AST.RecordArgABI ArgABI + { + get + { + return ((__Internal*)__Instance)->argABI; + } + + set + { + ((__Internal*)__Instance)->argABI = value; + } + } + + public global::CppSharp.Parser.AST.VTableLayout Layout + { + get + { + return global::CppSharp.Parser.AST.VTableLayout.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->layout)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->layout = *(global::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 uint VFTablesCount + { + get + { + var ___ret = __Internal.GetVFTablesCount(__Instance); + return ___ret; + } + } + + public uint FieldsCount + { + get + { + var ___ret = __Internal.GetFieldsCount(__Instance); + return ___ret; + } + } + + public uint BasesCount + { + get + { + var ___ret = __Internal.GetBasesCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 568)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(448)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + + [FieldOffset(472)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + + [FieldOffset(520)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + + [FieldOffset(544)] + internal byte isPOD; + + [FieldOffset(545)] + internal byte isAbstract; + + [FieldOffset(546)] + internal byte isUnion; + + [FieldOffset(547)] + internal byte isDynamic; + + [FieldOffset(548)] + internal byte isPolymorphic; + + [FieldOffset(549)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(550)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(551)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(552)] + internal byte isExternCContext; + + [FieldOffset(553)] + internal byte isInjected; + + [FieldOffset(556)] + internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(560)] + internal __IntPtr layout; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5ClassC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5ClassC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5ClassD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class8getBasesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBases(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class8addBasesERPNS1_18BaseClassSpecifierE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddBases(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class10clearBasesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearBases(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class9getFieldsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFields(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class9addFieldsERPNS1_5FieldE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddFields(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class11clearFieldsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearFields(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class10getMethodsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMethods(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class10addMethodsERPNS1_6MethodE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddMethods(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class12clearMethodsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearMethods(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class13getSpecifiersEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetSpecifiers(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class13addSpecifiersERPNS1_19AccessSpecifierDeclE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddSpecifiers(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class15clearSpecifiersEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearSpecifiers(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class13getBasesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetBasesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class14getFieldsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetFieldsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class15getMethodsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetMethodsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5Class18getSpecifiersCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetSpecifiersCount(__IntPtr __instance); + } + + internal static new Class __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Class(native.ToPointer(), skipVTables); + } + + internal static new Class __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Class)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Class __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Class(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Class(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Class(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public Class() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Class.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Class(global::CppSharp.Parser.AST.Class _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Class.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.BaseClassSpecifier GetBases(uint i) + { + var ___ret = __Internal.GetBases(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.BaseClassSpecifier.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddBases(global::CppSharp.Parser.AST.BaseClassSpecifier s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddBases(__Instance, __arg0); + } + + public void ClearBases() + { + __Internal.ClearBases(__Instance); + } + + public global::CppSharp.Parser.AST.Field GetFields(uint i) + { + var ___ret = __Internal.GetFields(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Field.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddFields(global::CppSharp.Parser.AST.Field s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddFields(__Instance, __arg0); + } + + public void ClearFields() + { + __Internal.ClearFields(__Instance); + } + + public global::CppSharp.Parser.AST.Method GetMethods(uint i) + { + var ___ret = __Internal.GetMethods(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Method.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddMethods(global::CppSharp.Parser.AST.Method s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddMethods(__Instance, __arg0); + } + + public void ClearMethods() + { + __Internal.ClearMethods(__Instance); + } + + public global::CppSharp.Parser.AST.AccessSpecifierDecl GetSpecifiers(uint i) + { + var ___ret = __Internal.GetSpecifiers(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.AccessSpecifierDecl.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddSpecifiers(global::CppSharp.Parser.AST.AccessSpecifierDecl s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddSpecifiers(__Instance, __arg0); + } + + public void ClearSpecifiers() + { + __Internal.ClearSpecifiers(__Instance); + } + + 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 bool IsInjected + { + get + { + return ((__Internal*)__Instance)->isInjected != 0; + } + + set + { + ((__Internal*)__Instance)->isInjected = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.TagKind TagKind + { + get + { + return ((__Internal*)__Instance)->tagKind; + } + + set + { + ((__Internal*)__Instance)->tagKind = value; + } + } + + public global::CppSharp.Parser.AST.ClassLayout Layout + { + get + { + var __result0 = global::CppSharp.Parser.AST.ClassLayout.__GetOrCreateInstance(((__Internal*)__Instance)->layout, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->layout = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint BasesCount + { + get + { + var ___ret = __Internal.GetBasesCount(__Instance); + return ___ret; + } + } + + public uint FieldsCount + { + get + { + var ___ret = __Internal.GetFieldsCount(__Instance); + return ___ret; + } + } + + public uint MethodsCount + { + get + { + var ___ret = __Internal.GetMethodsCount(__Instance); + return ___ret; + } + } + + public uint SpecifiersCount + { + get + { + var ___ret = __Internal.GetSpecifiersCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal __IntPtr TemplatedDecl; + + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8TemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8TemplateC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8TemplateD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Template13getParametersEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetParameters(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Template13addParametersERPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddParameters(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Template15clearParametersEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearParameters(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Template18getParametersCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetParametersCount(__IntPtr __instance); + } + + internal static new Template __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Template(native.ToPointer(), skipVTables); + } + + internal static new Template __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Template)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Template __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Template(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Template(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Template(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public Template(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, kind); + } + + public Template() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Template(global::CppSharp.Parser.AST.Template _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + { + var ___ret = __Internal.GetParameters(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddParameters(__Instance, __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters(__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.Template(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.Template(kind); + } + + public global::CppSharp.Parser.AST.Declaration TemplatedDecl + { + get + { + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->TemplatedDecl, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->TemplatedDecl = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint ParametersCount + { + get + { + var ___ret = __Internal.GetParametersCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal __IntPtr TemplatedDecl; + + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17TypeAliasTemplateD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new TypeAliasTemplate __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TypeAliasTemplate(native.ToPointer(), skipVTables); + } + + internal static new TypeAliasTemplate __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TypeAliasTemplate)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TypeAliasTemplate __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TypeAliasTemplate(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TypeAliasTemplate(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TypeAliasTemplate(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TypeAliasTemplate() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 216)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal uint depth; + + [FieldOffset(204)] + internal uint index; + + [FieldOffset(208)] + internal byte isParameterPack; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.DeclarationKind kind); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17TemplateParameterC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17TemplateParameterD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new TemplateParameter __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TemplateParameter(native.ToPointer(), skipVTables); + } + + internal static new TemplateParameter __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TemplateParameter)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TemplateParameter __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TemplateParameter(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TemplateParameter(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TemplateParameter(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, kind); + } + + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TemplateParameter(kind); + } + + public uint Depth + { + get + { + return ((__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 : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 240)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal __IntPtr TemplatedDecl; + + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] + internal byte isParameterPack; + + [FieldOffset(233)] + internal byte isPackExpansion; + + [FieldOffset(234)] + internal byte isExpandedParameterPack; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new TemplateTemplateParameter __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TemplateTemplateParameter(native.ToPointer(), skipVTables); + } + + internal static new TemplateTemplateParameter __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TemplateTemplateParameter)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TemplateTemplateParameter __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TemplateTemplateParameter(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TemplateTemplateParameter(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TemplateTemplateParameter(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TemplateTemplateParameter() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + 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 : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 232)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal uint depth; + + [FieldOffset(204)] + internal uint index; + + [FieldOffset(208)] + internal byte isParameterPack; + + [FieldOffset(216)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21TypeTemplateParameterD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new TypeTemplateParameter __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TypeTemplateParameter(native.ToPointer(), skipVTables); + } + + internal static new TypeTemplateParameter __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TypeTemplateParameter)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TypeTemplateParameter __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TypeTemplateParameter(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TypeTemplateParameter(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TypeTemplateParameter(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TypeTemplateParameter() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.QualifiedType DefaultArgument + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->defaultArgument)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->defaultArgument = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal uint depth; + + [FieldOffset(204)] + internal uint index; + + [FieldOffset(208)] + internal byte isParameterPack; + + [FieldOffset(216)] + internal __IntPtr defaultArgument; + + [FieldOffset(224)] + internal __IntPtr defaultArgumentNew; + + [FieldOffset(232)] + internal uint position; + + [FieldOffset(236)] + internal byte isPackExpansion; + + [FieldOffset(237)] + internal byte isExpandedParameterPack; + + [FieldOffset(240)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new NonTypeTemplateParameter __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new NonTypeTemplateParameter(native.ToPointer(), skipVTables); + } + + internal static new NonTypeTemplateParameter __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (NonTypeTemplateParameter)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static NonTypeTemplateParameter __CreateInstance(__Internal native, bool skipVTables = false) + { + return new NonTypeTemplateParameter(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private NonTypeTemplateParameter(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected NonTypeTemplateParameter(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public NonTypeTemplateParameter() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.ExpressionObsolete DefaultArgument + { + get + { + var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(((__Internal*)__Instance)->defaultArgument, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->defaultArgument = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr DefaultArgumentNew + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->defaultArgumentNew, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->defaultArgumentNew = value is null ? __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 global::CppSharp.Parser.AST.QualifiedType Type + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->type)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->type = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal __IntPtr TemplatedDecl; + + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplateC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplateD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate18getSpecializationsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetSpecializations(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate18addSpecializationsERPNS1_27ClassTemplateSpecializationE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddSpecializations(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearSpecializations(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetSpecializationsCount(__IntPtr __instance); + } + + internal static new ClassTemplate __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ClassTemplate(native.ToPointer(), skipVTables); + } + + internal static new ClassTemplate __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ClassTemplate)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ClassTemplate __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ClassTemplate(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private ClassTemplate(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ClassTemplate(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ClassTemplate() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.ClassTemplateSpecialization GetSpecializations(uint i) + { + var ___ret = __Internal.GetSpecializations(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.ClassTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddSpecializations(__Instance, __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations(__Instance); + } + + public uint SpecializationsCount + { + get + { + var ___ret = __Internal.GetSpecializationsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 608)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(448)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + + [FieldOffset(472)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + + [FieldOffset(520)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + + [FieldOffset(544)] + internal byte isPOD; + + [FieldOffset(545)] + internal byte isAbstract; + + [FieldOffset(546)] + internal byte isUnion; + + [FieldOffset(547)] + internal byte isDynamic; + + [FieldOffset(548)] + internal byte isPolymorphic; + + [FieldOffset(549)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(550)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(551)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(552)] + internal byte isExternCContext; + + [FieldOffset(553)] + internal byte isInjected; + + [FieldOffset(556)] + internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(560)] + internal __IntPtr layout; + + [FieldOffset(568)] + internal __IntPtr templatedDecl; + + [FieldOffset(576)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(600)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12getArgumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern global::CppSharp.Parser.AST.TemplateArgument.__Internal GetArguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddArguments(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization14clearArgumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearArguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27ClassTemplateSpecialization17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetArgumentsCount(__IntPtr __instance); + } + + internal static new ClassTemplateSpecialization __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ClassTemplateSpecialization(native.ToPointer(), skipVTables); + } + + internal static new ClassTemplateSpecialization __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ClassTemplateSpecialization)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ClassTemplateSpecialization __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ClassTemplateSpecialization(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private ClassTemplateSpecialization(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ClassTemplateSpecialization(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ClassTemplateSpecialization() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var ___ret = __Internal.GetArguments(__Instance, i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(___ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments(__Instance, __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments(__Instance); + } + + public global::CppSharp.Parser.AST.ClassTemplate TemplatedDecl + { + get + { + var __result0 = global::CppSharp.Parser.AST.ClassTemplate.__GetOrCreateInstance(((__Internal*)__Instance)->templatedDecl, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->templatedDecl = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((__Internal*)__Instance)->specializationKind; + } + + set + { + ((__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var ___ret = __Internal.GetArgumentsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 632)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(448)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + + [FieldOffset(472)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(496)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + + [FieldOffset(520)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + + [FieldOffset(544)] + internal byte isPOD; + + [FieldOffset(545)] + internal byte isAbstract; + + [FieldOffset(546)] + internal byte isUnion; + + [FieldOffset(547)] + internal byte isDynamic; + + [FieldOffset(548)] + internal byte isPolymorphic; + + [FieldOffset(549)] + internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(550)] + internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(551)] + internal byte hasNonTrivialDestructor; + + [FieldOffset(552)] + internal byte isExternCContext; + + [FieldOffset(553)] + internal byte isInjected; + + [FieldOffset(556)] + internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(560)] + internal __IntPtr layout; + + [FieldOffset(568)] + internal __IntPtr templatedDecl; + + [FieldOffset(576)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(600)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + + [FieldOffset(608)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecialization13getParametersEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetParameters(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecialization13addParametersERPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddParameters(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecialization15clearParametersEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearParameters(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecialization18getParametersCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetParametersCount(__IntPtr __instance); + } + + internal static new ClassTemplatePartialSpecialization __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ClassTemplatePartialSpecialization(native.ToPointer(), skipVTables); + } + + internal static new ClassTemplatePartialSpecialization __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ClassTemplatePartialSpecialization)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ClassTemplatePartialSpecialization __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ClassTemplatePartialSpecialization(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private ClassTemplatePartialSpecialization(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ClassTemplatePartialSpecialization() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Declaration GetParameters(uint i) + { + var ___ret = __Internal.GetParameters(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddParameters(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddParameters(__Instance, __arg0); + } + + public void ClearParameters() + { + __Internal.ClearParameters(__Instance); + } + + public uint ParametersCount + { + get + { + var ___ret = __Internal.GetParametersCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal __IntPtr TemplatedDecl; + + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplateC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplateD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate18getSpecializationsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetSpecializations(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate18addSpecializationsERPNS1_30FunctionTemplateSpecializationE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddSpecializations(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearSpecializations(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetSpecializationsCount(__IntPtr __instance); + } + + internal static new FunctionTemplate __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new FunctionTemplate(native.ToPointer(), skipVTables); + } + + internal static new FunctionTemplate __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (FunctionTemplate)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static FunctionTemplate __CreateInstance(__Internal native, bool skipVTables = false) + { + return new FunctionTemplate(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private FunctionTemplate(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected FunctionTemplate(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public FunctionTemplate() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization GetSpecializations(uint i) + { + var ___ret = __Internal.GetSpecializations(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.FunctionTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddSpecializations(__Instance, __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations(__Instance); + } + + public uint SpecializationsCount + { + get + { + var ___ret = __Internal.GetSpecializationsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class FunctionTemplateSpecialization : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + internal __IntPtr _template; + + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(32)] + internal __IntPtr specializedFunction; + + [FieldOffset(40)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12getArgumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern global::CppSharp.Parser.AST.TemplateArgument.__Internal GetArguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddArguments(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization14clearArgumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearArguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecialization17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetArgumentsCount(__IntPtr __instance); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.FunctionTemplateSpecialization managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.FunctionTemplateSpecialization managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static FunctionTemplateSpecialization __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new FunctionTemplateSpecialization(native.ToPointer(), skipVTables); + } + + internal static FunctionTemplateSpecialization __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (FunctionTemplateSpecialization)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static FunctionTemplateSpecialization __CreateInstance(__Internal native, bool skipVTables = false) + { + return new FunctionTemplateSpecialization(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private FunctionTemplateSpecialization(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public FunctionTemplateSpecialization() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var ___ret = __Internal.GetArguments(__Instance, i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(___ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments(__Instance, __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments(__Instance); + } + + public global::CppSharp.Parser.AST.FunctionTemplate Template + { + get + { + var __result0 = global::CppSharp.Parser.AST.FunctionTemplate.__GetOrCreateInstance(((__Internal*)__Instance)->_template, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->_template = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function SpecializedFunction + { + get + { + var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(((__Internal*)__Instance)->specializedFunction, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->specializedFunction = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((__Internal*)__Instance)->specializationKind; + } + + set + { + ((__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var ___ret = __Internal.GetArgumentsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 256)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal __IntPtr TemplatedDecl; + + [FieldOffset(208)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplateC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplateD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate18getSpecializationsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetSpecializations(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate18addSpecializationsERPNS1_25VarTemplateSpecializationE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddSpecializations(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearSpecializations(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetSpecializationsCount(__IntPtr __instance); + } + + internal static new VarTemplate __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new VarTemplate(native.ToPointer(), skipVTables); + } + + internal static new VarTemplate __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (VarTemplate)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static VarTemplate __CreateInstance(__Internal native, bool skipVTables = false) + { + return new VarTemplate(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private VarTemplate(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected VarTemplate(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public VarTemplate() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.VarTemplateSpecialization GetSpecializations(uint i) + { + var ___ret = __Internal.GetSpecializations(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddSpecializations(global::CppSharp.Parser.AST.VarTemplateSpecialization s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddSpecializations(__Instance, __arg0); + } + + public void ClearSpecializations() + { + __Internal.ClearSpecializations(__Instance); + } + + public uint SpecializationsCount + { + get + { + var ___ret = __Internal.GetSpecializationsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 296)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal byte isConstExpr; + + [FieldOffset(208)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(232)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(248)] + internal __IntPtr initializer; + + [FieldOffset(256)] + internal __IntPtr templatedDecl; + + [FieldOffset(264)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(288)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12getArgumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern global::CppSharp.Parser.AST.TemplateArgument.__Internal GetArguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization12addArgumentsERNS1_16TemplateArgumentE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddArguments(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization14clearArgumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearArguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25VarTemplateSpecialization17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetArgumentsCount(__IntPtr __instance); + } + + internal static new VarTemplateSpecialization __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new VarTemplateSpecialization(native.ToPointer(), skipVTables); + } + + internal static new VarTemplateSpecialization __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (VarTemplateSpecialization)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static VarTemplateSpecialization __CreateInstance(__Internal native, bool skipVTables = false) + { + return new VarTemplateSpecialization(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private VarTemplateSpecialization(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected VarTemplateSpecialization(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public VarTemplateSpecialization() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var ___ret = __Internal.GetArguments(__Instance, i); + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(___ret); + } + + public void AddArguments(global::CppSharp.Parser.AST.TemplateArgument s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = s.__Instance; + __Internal.AddArguments(__Instance, __arg0); + } + + public void ClearArguments() + { + __Internal.ClearArguments(__Instance); + } + + public global::CppSharp.Parser.AST.VarTemplate TemplatedDecl + { + get + { + var __result0 = global::CppSharp.Parser.AST.VarTemplate.__GetOrCreateInstance(((__Internal*)__Instance)->templatedDecl, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->templatedDecl = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateSpecializationKind SpecializationKind + { + get + { + return ((__Internal*)__Instance)->specializationKind; + } + + set + { + ((__Internal*)__Instance)->specializationKind = value; + } + } + + public uint ArgumentsCount + { + get + { + var ___ret = __Internal.GetArgumentsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 296)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal byte isConstExpr; + + [FieldOffset(208)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(232)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(248)] + internal __IntPtr initializer; + + [FieldOffset(256)] + internal __IntPtr templatedDecl; + + [FieldOffset(264)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(288)] + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new VarTemplatePartialSpecialization __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new VarTemplatePartialSpecialization(native.ToPointer(), skipVTables); + } + + internal static new VarTemplatePartialSpecialization __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (VarTemplatePartialSpecialization)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static VarTemplatePartialSpecialization __CreateInstance(__Internal native, bool skipVTables = false) + { + return new VarTemplatePartialSpecialization(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private VarTemplatePartialSpecialization(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected VarTemplatePartialSpecialization(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public VarTemplatePartialSpecialization() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class UnresolvedUsingTypename : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 200)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new UnresolvedUsingTypename __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new UnresolvedUsingTypename(native.ToPointer(), skipVTables); + } + + internal static new UnresolvedUsingTypename __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (UnresolvedUsingTypename)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static UnresolvedUsingTypename __CreateInstance(__Internal native, bool skipVTables = false) + { + return new UnresolvedUsingTypename(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private UnresolvedUsingTypename(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected UnresolvedUsingTypename(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public UnresolvedUsingTypename() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnresolvedUsingTypename(global::CppSharp.Parser.AST.UnresolvedUsingTypename _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 448)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(441)] + internal byte isInline; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9NamespaceC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9NamespaceC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9NamespaceD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new Namespace __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Namespace(native.ToPointer(), skipVTables); + } + + internal static new Namespace __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Namespace)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Namespace __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Namespace(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private Namespace(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Namespace(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public Namespace() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Namespace.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Namespace(global::CppSharp.Parser.AST.Namespace _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Namespace.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + 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)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] + internal __IntPtr originalPtr; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.PreprocessedEntity managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.PreprocessedEntity managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static PreprocessedEntity __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new PreprocessedEntity(native.ToPointer(), skipVTables); + } + + internal static PreprocessedEntity __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (PreprocessedEntity)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static PreprocessedEntity __CreateInstance(__Internal native, bool skipVTables = false) + { + return new PreprocessedEntity(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private PreprocessedEntity(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected PreprocessedEntity(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public PreprocessedEntity() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.MacroLocation MacroLocation + { + get + { + return ((__Internal*)__Instance)->macroLocation; + } + + set + { + ((__Internal*)__Instance)->macroLocation = value; + } + } + + public __IntPtr OriginalPtr + { + get + { + return ((__Internal*)__Instance)->originalPtr; + } + + set + { + ((__Internal*)__Instance)->originalPtr = (__IntPtr) value; + } + } + + public global::CppSharp.Parser.AST.DeclarationKind Kind + { + get + { + return ((__Internal*)__Instance)->kind; + } + + set + { + ((__Internal*)__Instance)->kind = value; + } + } + } + + public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] + internal __IntPtr originalPtr; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Expression; + + [FieldOffset(72)] + internal int lineNumberStart; + + [FieldOffset(76)] + internal int lineNumberEnd; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinitionC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition13getExpressionEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetExpression(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition13setExpressionEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetExpression(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + internal static new MacroDefinition __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new MacroDefinition(native.ToPointer(), skipVTables); + } + + internal static new MacroDefinition __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (MacroDefinition)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static MacroDefinition __CreateInstance(__Internal native, bool skipVTables = false) + { + return new MacroDefinition(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private MacroDefinition(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected MacroDefinition(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public MacroDefinition() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + 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 string Name + { + get + { + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetName(__Instance, value); + } + } + + public string Expression + { + get + { + var ___ret = __Internal.GetExpression(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetExpression(__Instance, value); + } + } + } + + public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] + internal __IntPtr originalPtr; + + [FieldOffset(16)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; + + [FieldOffset(72)] + internal __IntPtr definition; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansionC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + internal static new MacroExpansion __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new MacroExpansion(native.ToPointer(), skipVTables); + } + + internal static new MacroExpansion __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (MacroExpansion)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static MacroExpansion __CreateInstance(__Internal native, bool skipVTables = false) + { + return new MacroExpansion(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private MacroExpansion(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected MacroExpansion(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public MacroExpansion() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.MacroDefinition Definition + { + get + { + var __result0 = global::CppSharp.Parser.AST.MacroDefinition.__GetOrCreateInstance(((__Internal*)__Instance)->definition, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->definition = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public string Name + { + get + { + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetName(__Instance, value); + } + } + + public string Text + { + get + { + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetText(__Instance, value); + } + } + } + + public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 504)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [FieldOffset(200)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] + internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] + internal byte isAnonymous; + + [FieldOffset(441)] + internal byte isInline; + + [FieldOffset(448)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C FileName; + + [FieldOffset(472)] + internal byte isSystemHeader; + + [FieldOffset(480)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S0_ Macros; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnitC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnitD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit9getMacrosEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMacros(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit9addMacrosERPNS1_15MacroDefinitionE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddMacros(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearMacros(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11getFileNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFileName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11setFileNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetFileName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetMacrosCount(__IntPtr __instance); + } + + internal static new TranslationUnit __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TranslationUnit(native.ToPointer(), skipVTables); + } + + internal static new TranslationUnit __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TranslationUnit)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TranslationUnit __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TranslationUnit(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private TranslationUnit(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TranslationUnit(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TranslationUnit() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.MacroDefinition GetMacros(uint i) + { + var ___ret = __Internal.GetMacros(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.MacroDefinition.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddMacros(global::CppSharp.Parser.AST.MacroDefinition s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddMacros(__Instance, __arg0); + } + + public void ClearMacros() + { + __Internal.ClearMacros(__Instance); + } + + public bool IsSystemHeader + { + get + { + return ((__Internal*)__Instance)->isSystemHeader != 0; + } + + set + { + ((__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); + } + } + + public string FileName + { + get + { + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetFileName(__Instance, value); + } + } + + public uint MacrosCount + { + get + { + var ___ret = __Internal.GetMacrosCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class ASTContext : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S0_ TranslationUnits; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContextC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContextC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContextD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTranslationUnits(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContext19addTranslationUnitsERPNS1_15TranslationUnitE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddTranslationUnits(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContext21clearTranslationUnitsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearTranslationUnits(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContext24getTranslationUnitsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetTranslationUnitsCount(__IntPtr __instance); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.ASTContext managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.ASTContext managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static ASTContext __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ASTContext(native.ToPointer(), skipVTables); + } + + internal static ASTContext __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ASTContext)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ASTContext __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ASTContext(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private ASTContext(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ASTContext(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public ASTContext() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) + { + var ___ret = __Internal.GetTranslationUnits(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.TranslationUnit.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddTranslationUnits(global::CppSharp.Parser.AST.TranslationUnit s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddTranslationUnits(__Instance, __arg0); + } + + public void ClearTranslationUnits() + { + __Internal.ClearTranslationUnits(__Instance); + } + + public uint TranslationUnitsCount + { + get + { + var ___ret = __Internal.GetTranslationUnitsCount(__Instance); + return ___ret; + } + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum StmtClass + { + NoStmt = 0, + GCCAsmStmt = 1, + MSAsmStmt = 2, + AttributedStmt = 3, + BreakStmt = 4, + CXXCatchStmt = 5, + CXXForRangeStmt = 6, + CXXTryStmt = 7, + CapturedStmt = 8, + CompoundStmt = 9, + ContinueStmt = 10, + CoreturnStmt = 11, + CoroutineBodyStmt = 12, + DeclStmt = 13, + DoStmt = 14, + BinaryConditionalOperator = 15, + ConditionalOperator = 16, + AddrLabelExpr = 17, + ArrayInitIndexExpr = 18, + ArrayInitLoopExpr = 19, + ArraySubscriptExpr = 20, + ArrayTypeTraitExpr = 21, + AsTypeExpr = 22, + AtomicExpr = 23, + BinaryOperator = 24, + CompoundAssignOperator = 25, + BlockExpr = 26, + CXXBindTemporaryExpr = 27, + CXXBoolLiteralExpr = 28, + CXXConstructExpr = 29, + CXXTemporaryObjectExpr = 30, + CXXDefaultArgExpr = 31, + CXXDefaultInitExpr = 32, + CXXDeleteExpr = 33, + CXXDependentScopeMemberExpr = 34, + CXXFoldExpr = 35, + CXXInheritedCtorInitExpr = 36, + CXXNewExpr = 37, + CXXNoexceptExpr = 38, + CXXNullPtrLiteralExpr = 39, + CXXPseudoDestructorExpr = 40, + CXXScalarValueInitExpr = 41, + CXXStdInitializerListExpr = 42, + CXXThisExpr = 43, + CXXThrowExpr = 44, + CXXTypeidExpr = 45, + CXXUnresolvedConstructExpr = 46, + CXXUuidofExpr = 47, + CallExpr = 48, + CUDAKernelCallExpr = 49, + CXXMemberCallExpr = 50, + CXXOperatorCallExpr = 51, + UserDefinedLiteral = 52, + CStyleCastExpr = 53, + CXXFunctionalCastExpr = 54, + CXXConstCastExpr = 55, + CXXDynamicCastExpr = 56, + CXXReinterpretCastExpr = 57, + CXXStaticCastExpr = 58, + ImplicitCastExpr = 60, + CharacterLiteral = 61, + ChooseExpr = 62, + CompoundLiteralExpr = 63, + ConvertVectorExpr = 64, + CoawaitExpr = 65, + CoyieldExpr = 66, + DeclRefExpr = 67, + DependentCoawaitExpr = 68, + DependentScopeDeclRefExpr = 69, + DesignatedInitExpr = 70, + DesignatedInitUpdateExpr = 71, + ExpressionTraitExpr = 72, + ExtVectorElementExpr = 73, + FixedPointLiteral = 74, + FloatingLiteral = 75, + ConstantExpr = 76, + ExprWithCleanups = 77, + FunctionParmPackExpr = 78, + GNUNullExpr = 79, + GenericSelectionExpr = 80, + ImaginaryLiteral = 81, + ImplicitValueInitExpr = 82, + InitListExpr = 83, + IntegerLiteral = 84, + LambdaExpr = 85, + MSPropertyRefExpr = 86, + MSPropertySubscriptExpr = 87, + MaterializeTemporaryExpr = 88, + MemberExpr = 89, + NoInitExpr = 90, + OffsetOfExpr = 107, + OpaqueValueExpr = 108, + UnresolvedLookupExpr = 109, + UnresolvedMemberExpr = 110, + PackExpansionExpr = 111, + ParenExpr = 112, + ParenListExpr = 113, + PredefinedExpr = 114, + PseudoObjectExpr = 115, + ShuffleVectorExpr = 116, + SizeOfPackExpr = 117, + StmtExpr = 118, + StringLiteral = 119, + SubstNonTypeTemplateParmExpr = 120, + SubstNonTypeTemplateParmPackExpr = 121, + TypeTraitExpr = 122, + TypoExpr = 123, + UnaryExprOrTypeTraitExpr = 124, + UnaryOperator = 125, + VAArgExpr = 126, + ForStmt = 127, + GotoStmt = 128, + IfStmt = 129, + IndirectGotoStmt = 130, + LabelStmt = 131, + MSDependentExistsStmt = 132, + NullStmt = 133, + ReturnStmt = 188, + SEHExceptStmt = 189, + SEHFinallyStmt = 190, + SEHLeaveStmt = 191, + SEHTryStmt = 192, + CaseStmt = 193, + DefaultStmt = 194, + SwitchStmt = 195, + WhileStmt = 196 + } + + public unsafe partial class Stmt : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 20)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4StmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4StmtC2ENS1_9StmtClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4StmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.Stmt managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.Stmt managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static Stmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Stmt(native.ToPointer(), skipVTables); + } + + internal static Stmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Stmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Stmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Stmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private Stmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Stmt(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public Stmt() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Stmt(global::CppSharp.Parser.AST.StmtClass klass) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public Stmt(global::CppSharp.Parser.AST.Stmt _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Stmt.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public static implicit operator global::CppSharp.Parser.AST.Stmt(global::CppSharp.Parser.AST.StmtClass klass) + { + return new global::CppSharp.Parser.AST.Stmt(klass); + } + + public global::CppSharp.Parser.AST.StmtClass StmtClass + { + get + { + return ((__Internal*)__Instance)->stmtClass; + } + + set + { + ((__Internal*)__Instance)->stmtClass = value; + } + } + + public global::CppSharp.Parser.SourceRange SourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->sourceRange)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->sourceRange = *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BeginLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->beginLoc); + } + + set + { + ((__Internal*)__Instance)->beginLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EndLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->endLoc); + } + + set + { + ((__Internal*)__Instance)->endLoc = value.__Instance; + } + } + } + + public unsafe partial class DeclStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ decls; + + [FieldOffset(48)] + internal byte isSingleDecl; + + [FieldOffset(56)] + internal __IntPtr singleDecl; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8DeclStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8DeclStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8DeclStmtD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8DeclStmt8getdeclsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Getdecls(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8DeclStmt8adddeclsERPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void Adddecls(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8DeclStmt10cleardeclsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void Cleardecls(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8DeclStmt13getdeclsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetdeclsCount(__IntPtr __instance); + } + + internal static new DeclStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new DeclStmt(native.ToPointer(), skipVTables); + } + + internal static new DeclStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (DeclStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static DeclStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new DeclStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.DeclStmt.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private DeclStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected DeclStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public DeclStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DeclStmt(global::CppSharp.Parser.AST.DeclStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Declaration Getdecls(uint i) + { + var ___ret = __Internal.Getdecls(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void Adddecls(global::CppSharp.Parser.AST.Declaration s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.Adddecls(__Instance, __arg0); + } + + public void Cleardecls() + { + __Internal.Cleardecls(__Instance); + } + + public bool IsSingleDecl + { + get + { + return ((__Internal*)__Instance)->isSingleDecl != 0; + } + + set + { + ((__Internal*)__Instance)->isSingleDecl = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Declaration SingleDecl + { + get + { + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->singleDecl, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->singleDecl = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint GetdeclsCount + { + get + { + var ___ret = __Internal.GetdeclsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class NullStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal semiLoc; + + [FieldOffset(24)] + internal byte hasLeadingEmptyMacro; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8NullStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8NullStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new NullStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new NullStmt(native.ToPointer(), skipVTables); + } + + internal static new NullStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (NullStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static NullStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new NullStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private NullStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected NullStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public NullStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public NullStmt(global::CppSharp.Parser.AST.NullStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NullStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation SemiLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->semiLoc); + } + + set + { + ((__Internal*)__Instance)->semiLoc = value.__Instance; + } + } + + public bool HasLeadingEmptyMacro + { + get + { + return ((__Internal*)__Instance)->hasLeadingEmptyMacro != 0; + } + + set + { + ((__Internal*)__Instance)->hasLeadingEmptyMacro = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S0_ body; + + [FieldOffset(48)] + internal byte body_empty; + + [FieldOffset(52)] + internal uint size; + + [FieldOffset(56)] + internal __IntPtr body_front; + + [FieldOffset(64)] + internal __IntPtr body_back; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBracLoc; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CompoundStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CompoundStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CompoundStmtD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CompoundStmt7getbodyEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Getbody(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CompoundStmt7addbodyERPNS1_4StmtE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void Addbody(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CompoundStmt9clearbodyEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void Clearbody(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CompoundStmt12getbodyCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetbodyCount(__IntPtr __instance); + } + + internal static new CompoundStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CompoundStmt(native.ToPointer(), skipVTables); + } + + internal static new CompoundStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CompoundStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CompoundStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CompoundStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.CompoundStmt.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CompoundStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CompoundStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CompoundStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Stmt Getbody(uint i) + { + var ___ret = __Internal.Getbody(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void Addbody(global::CppSharp.Parser.AST.Stmt s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.Addbody(__Instance, __arg0); + } + + public void Clearbody() + { + __Internal.Clearbody(__Instance); + } + + public bool BodyEmpty + { + get + { + return ((__Internal*)__Instance)->body_empty != 0; + } + + set + { + ((__Internal*)__Instance)->body_empty = (byte) (value ? 1 : 0); + } + } + + public uint Size + { + get + { + return ((__Internal*)__Instance)->size; + } + + set + { + ((__Internal*)__Instance)->size = value; + } + } + + public global::CppSharp.Parser.AST.Stmt BodyFront + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->body_front, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->body_front = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt BodyBack + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->body_back, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->body_back = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBracLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lBracLoc); + } + + set + { + ((__Internal*)__Instance)->lBracLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rBracLoc); + } + + set + { + ((__Internal*)__Instance)->rBracLoc = value.__Instance; + } + } + + public uint GetbodyCount + { + get + { + var ___ret = __Internal.GetbodyCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class SwitchCase : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(32)] + internal __IntPtr subStmt; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SwitchCaseC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SwitchCaseC2ENS1_9StmtClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SwitchCaseC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new SwitchCase __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new SwitchCase(native.ToPointer(), skipVTables); + } + + internal static new SwitchCase __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (SwitchCase)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static SwitchCase __CreateInstance(__Internal native, bool skipVTables = false) + { + return new SwitchCase(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private SwitchCase(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected SwitchCase(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public SwitchCase() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SwitchCase.__Internal*) _0.__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) + { + return new global::CppSharp.Parser.AST.SwitchCase(klass); + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->keywordLoc); + } + + set + { + ((__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->colonLoc); + } + + set + { + ((__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->subStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CaseStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(32)] + internal __IntPtr subStmt; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal caseLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(48)] + internal __IntPtr lHS; + + [FieldOffset(56)] + internal __IntPtr rHS; + + [FieldOffset(64)] + internal byte caseStmtIsGNURange; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CaseStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CaseStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CaseStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CaseStmt(native.ToPointer(), skipVTables); + } + + internal static new CaseStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CaseStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CaseStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CaseStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CaseStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CaseStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CaseStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CaseStmt(global::CppSharp.Parser.AST.CaseStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CaseStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation CaseLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->caseLoc); + } + + set + { + ((__Internal*)__Instance)->caseLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->ellipsisLoc); + } + + set + { + ((__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->lHS, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->lHS = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->rHS, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->rHS = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool CaseStmtIsGNURange + { + get + { + return ((__Internal*)__Instance)->caseStmtIsGNURange != 0; + } + + set + { + ((__Internal*)__Instance)->caseStmtIsGNURange = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DefaultStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(32)] + internal __IntPtr subStmt; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DefaultStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DefaultStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new DefaultStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new DefaultStmt(native.ToPointer(), skipVTables); + } + + internal static new DefaultStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (DefaultStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static DefaultStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new DefaultStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private DefaultStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected DefaultStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public DefaultStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation DefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->defaultLoc); + } + + set + { + ((__Internal*)__Instance)->defaultLoc = value.__Instance; + } + } + } + + public unsafe partial class LabelStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal identLoc; + + [FieldOffset(24)] + internal __IntPtr subStmt; + + [FieldOffset(32)] + internal __IntPtr name; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9LabelStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9LabelStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + private bool __name_OwnsNativeMemory = false; + internal static new LabelStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new LabelStmt(native.ToPointer(), skipVTables); + } + + internal static new LabelStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (LabelStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static LabelStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new LabelStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private LabelStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected LabelStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public LabelStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public LabelStmt(global::CppSharp.Parser.AST.LabelStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) _0.__Instance); + if (_0.__name_OwnsNativeMemory) + this.Name = _0.Name; + } + + public global::CppSharp.Parser.SourceLocation IdentLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->identLoc); + } + + set + { + ((__Internal*)__Instance)->identLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->subStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public string Name + { + get + { + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ((__Internal*)__Instance)->name); + } + + set + { + if (__name_OwnsNativeMemory) + Marshal.FreeHGlobal(((__Internal*)__Instance)->name); + __name_OwnsNativeMemory = true; + if (value == null) + { + ((__Internal*)__Instance)->name = global::System.IntPtr.Zero; + return; + } + var __bytes0 = global::System.Text.Encoding.UTF8.GetBytes(value); + var __bytePtr0 = Marshal.AllocHGlobal(__bytes0.Length + 1); + Marshal.Copy(__bytes0, 0, __bytePtr0, __bytes0.Length); + Marshal.WriteByte(__bytePtr0 + __bytes0.Length, 0); + ((__Internal*)__Instance)->name = (__IntPtr) __bytePtr0; + } + } + } + + public unsafe partial class AttributedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal attrLoc; + + [FieldOffset(24)] + internal __IntPtr subStmt; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14AttributedStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14AttributedStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new AttributedStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new AttributedStmt(native.ToPointer(), skipVTables); + } + + internal static new AttributedStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (AttributedStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static AttributedStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new AttributedStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private AttributedStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected AttributedStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public AttributedStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation AttrLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->attrLoc); + } + + set + { + ((__Internal*)__Instance)->attrLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt SubStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->subStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class IfStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal __IntPtr cond; + + [FieldOffset(32)] + internal __IntPtr then; + + [FieldOffset(40)] + internal __IntPtr _else; + + [FieldOffset(48)] + internal __IntPtr init; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal ifLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal elseLoc; + + [FieldOffset(64)] + internal byte _constexpr; + + [FieldOffset(65)] + internal byte hasInitStorage; + + [FieldOffset(66)] + internal byte hasVarStorage; + + [FieldOffset(67)] + internal byte hasElseStorage; + + [FieldOffset(72)] + internal __IntPtr conditionVariableDeclStmt; + + [FieldOffset(80)] + internal byte isObjCAvailabilityCheck; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6IfStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6IfStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new IfStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new IfStmt(native.ToPointer(), skipVTables); + } + + internal static new IfStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (IfStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static IfStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new IfStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private IfStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected IfStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public IfStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public IfStmt(global::CppSharp.Parser.AST.IfStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IfStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->cond, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->cond = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Then + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->then, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->then = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Else + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->_else, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->_else = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->init, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->init = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation IfLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->ifLoc); + } + + set + { + ((__Internal*)__Instance)->ifLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ElseLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->elseLoc); + } + + set + { + ((__Internal*)__Instance)->elseLoc = value.__Instance; + } + } + + public bool Constexpr + { + get + { + return ((__Internal*)__Instance)->_constexpr != 0; + } + + set + { + ((__Internal*)__Instance)->_constexpr = (byte) (value ? 1 : 0); + } + } + + public bool HasInitStorage + { + get + { + return ((__Internal*)__Instance)->hasInitStorage != 0; + } + + set + { + ((__Internal*)__Instance)->hasInitStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasVarStorage + { + get + { + return ((__Internal*)__Instance)->hasVarStorage != 0; + } + + set + { + ((__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasElseStorage + { + get + { + return ((__Internal*)__Instance)->hasElseStorage != 0; + } + + set + { + ((__Internal*)__Instance)->hasElseStorage = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.DeclStmt ConditionVariableDeclStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.DeclStmt.__GetOrCreateInstance(((__Internal*)__Instance)->conditionVariableDeclStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->conditionVariableDeclStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool IsObjCAvailabilityCheck + { + get + { + return ((__Internal*)__Instance)->isObjCAvailabilityCheck != 0; + } + + set + { + ((__Internal*)__Instance)->isObjCAvailabilityCheck = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class SwitchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal __IntPtr cond; + + [FieldOffset(32)] + internal __IntPtr body; + + [FieldOffset(40)] + internal __IntPtr init; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal switchLoc; + + [FieldOffset(52)] + internal byte hasInitStorage; + + [FieldOffset(53)] + internal byte hasVarStorage; + + [FieldOffset(56)] + internal __IntPtr conditionVariableDeclStmt; + + [FieldOffset(64)] + internal byte isAllEnumCasesCovered; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SwitchStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SwitchStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new SwitchStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new SwitchStmt(native.ToPointer(), skipVTables); + } + + internal static new SwitchStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (SwitchStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static SwitchStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new SwitchStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private SwitchStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected SwitchStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public SwitchStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->cond, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->cond = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->body, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->body = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->init, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->init = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation SwitchLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->switchLoc); + } + + set + { + ((__Internal*)__Instance)->switchLoc = value.__Instance; + } + } + + public bool HasInitStorage + { + get + { + return ((__Internal*)__Instance)->hasInitStorage != 0; + } + + set + { + ((__Internal*)__Instance)->hasInitStorage = (byte) (value ? 1 : 0); + } + } + + public bool HasVarStorage + { + get + { + return ((__Internal*)__Instance)->hasVarStorage != 0; + } + + set + { + ((__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.DeclStmt ConditionVariableDeclStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.DeclStmt.__GetOrCreateInstance(((__Internal*)__Instance)->conditionVariableDeclStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->conditionVariableDeclStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool IsAllEnumCasesCovered + { + get + { + return ((__Internal*)__Instance)->isAllEnumCasesCovered != 0; + } + + set + { + ((__Internal*)__Instance)->isAllEnumCasesCovered = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class WhileStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal __IntPtr cond; + + [FieldOffset(32)] + internal __IntPtr body; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(44)] + internal byte hasVarStorage; + + [FieldOffset(48)] + internal __IntPtr conditionVariableDeclStmt; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9WhileStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9WhileStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new WhileStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new WhileStmt(native.ToPointer(), skipVTables); + } + + internal static new WhileStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (WhileStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static WhileStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new WhileStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private WhileStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected WhileStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public WhileStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public WhileStmt(global::CppSharp.Parser.AST.WhileStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.WhileStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->cond, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->cond = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->body, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->body = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation WhileLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->whileLoc); + } + + set + { + ((__Internal*)__Instance)->whileLoc = value.__Instance; + } + } + + public bool HasVarStorage + { + get + { + return ((__Internal*)__Instance)->hasVarStorage != 0; + } + + set + { + ((__Internal*)__Instance)->hasVarStorage = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.DeclStmt ConditionVariableDeclStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.DeclStmt.__GetOrCreateInstance(((__Internal*)__Instance)->conditionVariableDeclStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->conditionVariableDeclStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 56)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal __IntPtr cond; + + [FieldOffset(32)] + internal __IntPtr body; + + [FieldOffset(40)] + internal global::CppSharp.Parser.SourceLocation.__Internal doLoc; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(48)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6DoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6DoStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new DoStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new DoStmt(native.ToPointer(), skipVTables); + } + + internal static new DoStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (DoStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static DoStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new DoStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private DoStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected DoStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public DoStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DoStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->cond, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->cond = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->body, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->body = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DoLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->doLoc); + } + + set + { + ((__Internal*)__Instance)->doLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation WhileLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->whileLoc); + } + + set + { + ((__Internal*)__Instance)->whileLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ForStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal __IntPtr init; + + [FieldOffset(32)] + internal __IntPtr cond; + + [FieldOffset(40)] + internal __IntPtr inc; + + [FieldOffset(48)] + internal __IntPtr body; + + [FieldOffset(56)] + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(60)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(64)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(72)] + internal __IntPtr conditionVariableDeclStmt; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7ForStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7ForStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ForStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ForStmt(native.ToPointer(), skipVTables); + } + + internal static new ForStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ForStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ForStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ForStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ForStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ForStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ForStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ForStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->init, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->init = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->cond, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->cond = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Inc + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->inc, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->inc = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->body, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->body = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ForLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->forLoc); + } + + set + { + ((__Internal*)__Instance)->forLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lParenLoc); + } + + set + { + ((__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.DeclStmt ConditionVariableDeclStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.DeclStmt.__GetOrCreateInstance(((__Internal*)__Instance)->conditionVariableDeclStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->conditionVariableDeclStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class GotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 28)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8GotoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8GotoStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new GotoStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new GotoStmt(native.ToPointer(), skipVTables); + } + + internal static new GotoStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (GotoStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static GotoStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new GotoStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private GotoStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected GotoStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public GotoStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GotoStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation GotoLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->gotoLoc); + } + + set + { + ((__Internal*)__Instance)->gotoLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LabelLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->labelLoc); + } + + set + { + ((__Internal*)__Instance)->labelLoc = value.__Instance; + } + } + } + + public unsafe partial class IndirectGotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal starLoc; + + [FieldOffset(32)] + internal __IntPtr target; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16IndirectGotoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16IndirectGotoStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new IndirectGotoStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new IndirectGotoStmt(native.ToPointer(), skipVTables); + } + + internal static new IndirectGotoStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (IndirectGotoStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static IndirectGotoStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new IndirectGotoStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private IndirectGotoStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected IndirectGotoStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public IndirectGotoStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation GotoLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->gotoLoc); + } + + set + { + ((__Internal*)__Instance)->gotoLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation StarLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->starLoc); + } + + set + { + ((__Internal*)__Instance)->starLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Target + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->target, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->target = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ContinueStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal continueLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12ContinueStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12ContinueStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ContinueStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ContinueStmt(native.ToPointer(), skipVTables); + } + + internal static new ContinueStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ContinueStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ContinueStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ContinueStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ContinueStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ContinueStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ContinueStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation ContinueLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->continueLoc); + } + + set + { + ((__Internal*)__Instance)->continueLoc = value.__Instance; + } + } + } + + public unsafe partial class BreakStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal breakLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9BreakStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9BreakStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new BreakStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new BreakStmt(native.ToPointer(), skipVTables); + } + + internal static new BreakStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (BreakStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static BreakStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new BreakStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private BreakStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected BreakStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public BreakStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.BreakStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BreakStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation BreakLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->breakLoc); + } + + set + { + ((__Internal*)__Instance)->breakLoc = value.__Instance; + } + } + } + + public unsafe partial class ReturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal __IntPtr retValue; + + [FieldOffset(32)] + internal global::CppSharp.Parser.SourceLocation.__Internal returnLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ReturnStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ReturnStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ReturnStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ReturnStmt(native.ToPointer(), skipVTables); + } + + internal static new ReturnStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ReturnStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ReturnStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ReturnStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ReturnStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ReturnStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ReturnStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr RetValue + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->retValue, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->retValue = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ReturnLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->returnLoc); + } + + set + { + ((__Internal*)__Instance)->returnLoc = value.__Instance; + } + } + } + + public unsafe partial class AsmStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(76)] + internal byte simple; + + [FieldOffset(77)] + internal byte _volatile; + + [FieldOffset(80)] + internal uint numOutputs; + + [FieldOffset(84)] + internal uint numPlusOperands; + + [FieldOffset(88)] + internal uint numInputs; + + [FieldOffset(92)] + internal uint numClobbers; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmtC2ENS1_9StmtClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmtD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmt9getinputsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Getinputs(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmt9addinputsERPNS1_4ExprE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void Addinputs(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmt11clearinputsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void Clearinputs(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmt10getoutputsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Getoutputs(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmt10addoutputsERPNS1_4ExprE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void Addoutputs(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmt12clearoutputsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void Clearoutputs(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmt14getinputsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetinputsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmt15getoutputsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetoutputsCount(__IntPtr __instance); + } + + internal static new AsmStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new AsmStmt(native.ToPointer(), skipVTables); + } + + internal static new AsmStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (AsmStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static AsmStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new AsmStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.AsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private AsmStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected AsmStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public AsmStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public AsmStmt(global::CppSharp.Parser.AST.AsmStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getinputs(uint i) + { + var ___ret = __Internal.Getinputs(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void Addinputs(global::CppSharp.Parser.AST.Expr s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.Addinputs(__Instance, __arg0); + } + + public void Clearinputs() + { + __Internal.Clearinputs(__Instance); + } + + public global::CppSharp.Parser.AST.Expr Getoutputs(uint i) + { + var ___ret = __Internal.Getoutputs(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void Addoutputs(global::CppSharp.Parser.AST.Expr s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.Addoutputs(__Instance, __arg0); + } + + public void Clearoutputs() + { + __Internal.Clearoutputs(__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) + { + return new global::CppSharp.Parser.AST.AsmStmt(klass); + } + + public global::CppSharp.Parser.SourceLocation AsmLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->asmLoc); + } + + set + { + ((__Internal*)__Instance)->asmLoc = value.__Instance; + } + } + + public bool Simple + { + get + { + return ((__Internal*)__Instance)->simple != 0; + } + + set + { + ((__Internal*)__Instance)->simple = (byte) (value ? 1 : 0); + } + } + + public bool Volatile + { + get + { + return ((__Internal*)__Instance)->_volatile != 0; + } + + set + { + ((__Internal*)__Instance)->_volatile = (byte) (value ? 1 : 0); + } + } + + public uint NumOutputs + { + get + { + return ((__Internal*)__Instance)->numOutputs; + } + + set + { + ((__Internal*)__Instance)->numOutputs = value; + } + } + + public uint NumPlusOperands + { + get + { + return ((__Internal*)__Instance)->numPlusOperands; + } + + set + { + ((__Internal*)__Instance)->numPlusOperands = value; + } + } + + public uint NumInputs + { + get + { + return ((__Internal*)__Instance)->numInputs; + } + + set + { + ((__Internal*)__Instance)->numInputs = value; + } + } + + public uint NumClobbers + { + get + { + return ((__Internal*)__Instance)->numClobbers; + } + + set + { + ((__Internal*)__Instance)->numClobbers = value; + } + } + + public uint GetinputsCount + { + get + { + var ___ret = __Internal.GetinputsCount(__Instance); + return ___ret; + } + } + + public uint GetoutputsCount + { + get + { + var ___ret = __Internal.GetoutputsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(76)] + internal byte simple; + + [FieldOffset(77)] + internal byte _volatile; + + [FieldOffset(80)] + internal uint numOutputs; + + [FieldOffset(84)] + internal uint numPlusOperands; + + [FieldOffset(88)] + internal uint numInputs; + + [FieldOffset(92)] + internal uint numClobbers; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmtD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + public unsafe partial class AsmStringPiece : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public partial struct __Internal + { + [FieldOffset(0)] + internal byte isString; + + [FieldOffset(1)] + internal byte isOperand; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(32)] + internal uint operandNo; + + [FieldOffset(36)] + internal sbyte modifier; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceC2ERKS3_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPiece9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPiece9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + public enum Kind + { + String = 0, + Operand = 1 + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static AsmStringPiece __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new AsmStringPiece(native.ToPointer(), skipVTables); + } + + internal static AsmStringPiece __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (AsmStringPiece)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static AsmStringPiece __CreateInstance(__Internal native, bool skipVTables = false) + { + return new AsmStringPiece(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private AsmStringPiece(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected AsmStringPiece(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public AsmStringPiece() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public bool IsString + { + get + { + return ((__Internal*)__Instance)->isString != 0; + } + + set + { + ((__Internal*)__Instance)->isString = (byte) (value ? 1 : 0); + } + } + + public bool IsOperand + { + get + { + return ((__Internal*)__Instance)->isOperand != 0; + } + + set + { + ((__Internal*)__Instance)->isOperand = (byte) (value ? 1 : 0); + } + } + + public uint OperandNo + { + get + { + return ((__Internal*)__Instance)->operandNo; + } + + set + { + ((__Internal*)__Instance)->operandNo = value; + } + } + + public sbyte Modifier + { + get + { + return ((__Internal*)__Instance)->modifier; + } + + set + { + ((__Internal*)__Instance)->modifier = value; + } + } + + public string String + { + get + { + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetString(__Instance, value); + } + } + } + + internal static new GCCAsmStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new GCCAsmStmt(native.ToPointer(), skipVTables); + } + + internal static new GCCAsmStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (GCCAsmStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static GCCAsmStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new GCCAsmStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.GCCAsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private GCCAsmStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected GCCAsmStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public GCCAsmStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(72)] + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(76)] + internal byte simple; + + [FieldOffset(77)] + internal byte _volatile; + + [FieldOffset(80)] + internal uint numOutputs; + + [FieldOffset(84)] + internal uint numPlusOperands; + + [FieldOffset(88)] + internal uint numInputs; + + [FieldOffset(92)] + internal uint numClobbers; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(100)] + internal byte hasBraces; + + [FieldOffset(104)] + internal uint numAsmToks; + + [FieldOffset(112)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C AsmString; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmtD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmt12getAsmStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetAsmString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmt12setAsmStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetAsmString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + internal static new MSAsmStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new MSAsmStmt(native.ToPointer(), skipVTables); + } + + internal static new MSAsmStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (MSAsmStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static MSAsmStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new MSAsmStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.MSAsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private MSAsmStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected MSAsmStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public MSAsmStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.SourceLocation LBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lBraceLoc); + } + + set + { + ((__Internal*)__Instance)->lBraceLoc = value.__Instance; + } + } + + public bool HasBraces + { + get + { + return ((__Internal*)__Instance)->hasBraces != 0; + } + + set + { + ((__Internal*)__Instance)->hasBraces = (byte) (value ? 1 : 0); + } + } + + public uint NumAsmToks + { + get + { + return ((__Internal*)__Instance)->numAsmToks; + } + + set + { + ((__Internal*)__Instance)->numAsmToks = value; + } + } + + public string AsmString + { + get + { + var ___ret = __Internal.GetAsmString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetAsmString(__Instance, value); + } + } + } + + public unsafe partial class SEHExceptStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal exceptLoc; + + [FieldOffset(24)] + internal __IntPtr filterExpr; + + [FieldOffset(32)] + internal __IntPtr block; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13SEHExceptStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13SEHExceptStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new SEHExceptStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new SEHExceptStmt(native.ToPointer(), skipVTables); + } + + internal static new SEHExceptStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (SEHExceptStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static SEHExceptStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new SEHExceptStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHExceptStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected SEHExceptStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public SEHExceptStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation ExceptLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->exceptLoc); + } + + set + { + ((__Internal*)__Instance)->exceptLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr FilterExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->filterExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->filterExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Block + { + get + { + var __result0 = global::CppSharp.Parser.AST.CompoundStmt.__GetOrCreateInstance(((__Internal*)__Instance)->block, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->block = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHFinallyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 32)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal finallyLoc; + + [FieldOffset(24)] + internal __IntPtr block; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14SEHFinallyStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14SEHFinallyStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new SEHFinallyStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new SEHFinallyStmt(native.ToPointer(), skipVTables); + } + + internal static new SEHFinallyStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (SEHFinallyStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static SEHFinallyStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new SEHFinallyStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHFinallyStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected SEHFinallyStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public SEHFinallyStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation FinallyLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->finallyLoc); + } + + set + { + ((__Internal*)__Instance)->finallyLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Block + { + get + { + var __result0 = global::CppSharp.Parser.AST.CompoundStmt.__GetOrCreateInstance(((__Internal*)__Instance)->block, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->block = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(24)] + internal byte isCXXTry; + + [FieldOffset(32)] + internal __IntPtr tryBlock; + + [FieldOffset(40)] + internal __IntPtr handler; + + [FieldOffset(48)] + internal __IntPtr exceptHandler; + + [FieldOffset(56)] + internal __IntPtr finallyHandler; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SEHTryStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SEHTryStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new SEHTryStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new SEHTryStmt(native.ToPointer(), skipVTables); + } + + internal static new SEHTryStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (SEHTryStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static SEHTryStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new SEHTryStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHTryStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected SEHTryStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public SEHTryStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation TryLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->tryLoc); + } + + set + { + ((__Internal*)__Instance)->tryLoc = value.__Instance; + } + } + + public bool IsCXXTry + { + get + { + return ((__Internal*)__Instance)->isCXXTry != 0; + } + + set + { + ((__Internal*)__Instance)->isCXXTry = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt TryBlock + { + get + { + var __result0 = global::CppSharp.Parser.AST.CompoundStmt.__GetOrCreateInstance(((__Internal*)__Instance)->tryBlock, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->tryBlock = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Handler + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->handler, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->handler = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.SEHExceptStmt ExceptHandler + { + get + { + var __result0 = global::CppSharp.Parser.AST.SEHExceptStmt.__GetOrCreateInstance(((__Internal*)__Instance)->exceptHandler, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->exceptHandler = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.SEHFinallyStmt FinallyHandler + { + get + { + var __result0 = global::CppSharp.Parser.AST.SEHFinallyStmt.__GetOrCreateInstance(((__Internal*)__Instance)->finallyHandler, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->finallyHandler = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SEHLeaveStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal leaveLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12SEHLeaveStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12SEHLeaveStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new SEHLeaveStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new SEHLeaveStmt(native.ToPointer(), skipVTables); + } + + internal static new SEHLeaveStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (SEHLeaveStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static SEHLeaveStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new SEHLeaveStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private SEHLeaveStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected SEHLeaveStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public SEHLeaveStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation LeaveLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->leaveLoc); + } + + set + { + ((__Internal*)__Instance)->leaveLoc = value.__Instance; + } + } + } + + public unsafe partial class CapturedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ capture_inits; + + [FieldOffset(48)] + internal __IntPtr capturedStmt; + + [FieldOffset(56)] + internal uint capture_size; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmtD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmt16getcapture_initsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetcaptureInits(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmt16addcapture_initsERPNS1_4ExprE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddcaptureInits(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmt18clearcapture_initsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearcaptureInits(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmt21getcapture_initsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetcaptureInitsCount(__IntPtr __instance); + } + + public enum VariableCaptureKind + { + This = 0, + ByRef = 1, + ByCopy = 2, + VLAType = 3 + } + + public unsafe partial class Capture : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 12)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind captureKind; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(8)] + internal byte capturesThis; + + [FieldOffset(9)] + internal byte capturesVariable; + + [FieldOffset(10)] + internal byte capturesVariableByCopy; + + [FieldOffset(11)] + internal byte capturesVariableArrayType; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmt7CaptureC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmt7CaptureC2ERKS3_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.CapturedStmt.Capture managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.CapturedStmt.Capture managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static Capture __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Capture(native.ToPointer(), skipVTables); + } + + internal static Capture __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Capture)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Capture __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Capture(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private Capture(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Capture(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public Capture() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind CaptureKind + { + get + { + return ((__Internal*)__Instance)->captureKind; + } + + set + { + ((__Internal*)__Instance)->captureKind = value; + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->location); + } + + set + { + ((__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool CapturesThis + { + get + { + return ((__Internal*)__Instance)->capturesThis != 0; + } + + set + { + ((__Internal*)__Instance)->capturesThis = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariable + { + get + { + return ((__Internal*)__Instance)->capturesVariable != 0; + } + + set + { + ((__Internal*)__Instance)->capturesVariable = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariableByCopy + { + get + { + return ((__Internal*)__Instance)->capturesVariableByCopy != 0; + } + + set + { + ((__Internal*)__Instance)->capturesVariableByCopy = (byte) (value ? 1 : 0); + } + } + + public bool CapturesVariableArrayType + { + get + { + return ((__Internal*)__Instance)->capturesVariableArrayType != 0; + } + + set + { + ((__Internal*)__Instance)->capturesVariableArrayType = (byte) (value ? 1 : 0); + } + } + } + + internal static new CapturedStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CapturedStmt(native.ToPointer(), skipVTables); + } + + internal static new CapturedStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CapturedStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CapturedStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CapturedStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.CapturedStmt.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CapturedStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CapturedStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CapturedStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetcaptureInits(uint i) + { + var ___ret = __Internal.GetcaptureInits(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddcaptureInits(global::CppSharp.Parser.AST.Expr s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddcaptureInits(__Instance, __arg0); + } + + public void ClearcaptureInits() + { + __Internal.ClearcaptureInits(__Instance); + } + + public global::CppSharp.Parser.AST.Stmt capturedStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->capturedStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->capturedStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint CaptureSize + { + get + { + return ((__Internal*)__Instance)->capture_size; + } + + set + { + ((__Internal*)__Instance)->capture_size = value; + } + } + + public uint GetcaptureInitsCount + { + get + { + var ___ret = __Internal.GetcaptureInitsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class CXXCatchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal catchLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal caughtType; + + [FieldOffset(40)] + internal __IntPtr handlerBlock; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CXXCatchStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CXXCatchStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXCatchStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXCatchStmt(native.ToPointer(), skipVTables); + } + + internal static new CXXCatchStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXCatchStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXCatchStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXCatchStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXCatchStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXCatchStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXCatchStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation CatchLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->catchLoc); + } + + set + { + ((__Internal*)__Instance)->catchLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType CaughtType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->caughtType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->caughtType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt HandlerBlock + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->handlerBlock, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->handlerBlock = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(24)] + internal __IntPtr tryBlock; + + [FieldOffset(32)] + internal uint numHandlers; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXTryStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXTryStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXTryStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXTryStmt(native.ToPointer(), skipVTables); + } + + internal static new CXXTryStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXTryStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXTryStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXTryStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXTryStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXTryStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXTryStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation TryLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->tryLoc); + } + + set + { + ((__Internal*)__Instance)->tryLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CompoundStmt TryBlock + { + get + { + var __result0 = global::CppSharp.Parser.AST.CompoundStmt.__GetOrCreateInstance(((__Internal*)__Instance)->tryBlock, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->tryBlock = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint NumHandlers + { + get + { + return ((__Internal*)__Instance)->numHandlers; + } + + set + { + ((__Internal*)__Instance)->numHandlers = value; + } + } + } + + public unsafe partial class CXXForRangeStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal __IntPtr init; + + [FieldOffset(32)] + internal __IntPtr rangeInit; + + [FieldOffset(40)] + internal __IntPtr cond; + + [FieldOffset(48)] + internal __IntPtr inc; + + [FieldOffset(56)] + internal __IntPtr body; + + [FieldOffset(64)] + internal __IntPtr rangeStmt; + + [FieldOffset(72)] + internal __IntPtr beginStmt; + + [FieldOffset(80)] + internal __IntPtr endStmt; + + [FieldOffset(88)] + internal __IntPtr loopVarStmt; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal coawaitLoc; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15CXXForRangeStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15CXXForRangeStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXForRangeStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXForRangeStmt(native.ToPointer(), skipVTables); + } + + internal static new CXXForRangeStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXForRangeStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXForRangeStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXForRangeStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXForRangeStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXForRangeStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXForRangeStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Stmt Init + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->init, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->init = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RangeInit + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->rangeInit, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->rangeInit = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->cond, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->cond = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Inc + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->inc, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->inc = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->body, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->body = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.DeclStmt RangeStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.DeclStmt.__GetOrCreateInstance(((__Internal*)__Instance)->rangeStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->rangeStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.DeclStmt BeginStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.DeclStmt.__GetOrCreateInstance(((__Internal*)__Instance)->beginStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->beginStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.DeclStmt EndStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.DeclStmt.__GetOrCreateInstance(((__Internal*)__Instance)->endStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->endStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.DeclStmt LoopVarStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.DeclStmt.__GetOrCreateInstance(((__Internal*)__Instance)->loopVarStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->loopVarStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ForLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->forLoc); + } + + set + { + ((__Internal*)__Instance)->forLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation CoawaitLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->coawaitLoc); + } + + set + { + ((__Internal*)__Instance)->coawaitLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->colonLoc); + } + + set + { + ((__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class MSDependentExistsStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 40)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] + internal byte isIfExists; + + [FieldOffset(25)] + internal byte isIfNotExists; + + [FieldOffset(32)] + internal __IntPtr subStmt; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21MSDependentExistsStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21MSDependentExistsStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new MSDependentExistsStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new MSDependentExistsStmt(native.ToPointer(), skipVTables); + } + + internal static new MSDependentExistsStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (MSDependentExistsStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static MSDependentExistsStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new MSDependentExistsStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSDependentExistsStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected MSDependentExistsStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public MSDependentExistsStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->keywordLoc); + } + + set + { + ((__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public bool IsIfExists + { + get + { + return ((__Internal*)__Instance)->isIfExists != 0; + } + + set + { + ((__Internal*)__Instance)->isIfExists = (byte) (value ? 1 : 0); + } + } + + public bool IsIfNotExists + { + get + { + return ((__Internal*)__Instance)->isIfNotExists != 0; + } + + set + { + ((__Internal*)__Instance)->isIfNotExists = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt SubStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.CompoundStmt.__GetOrCreateInstance(((__Internal*)__Instance)->subStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoroutineBodyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal byte hasDependentPromiseType; + + [FieldOffset(24)] + internal __IntPtr body; + + [FieldOffset(32)] + internal __IntPtr promiseDeclStmt; + + [FieldOffset(40)] + internal __IntPtr initSuspendStmt; + + [FieldOffset(48)] + internal __IntPtr finalSuspendStmt; + + [FieldOffset(56)] + internal __IntPtr exceptionHandler; + + [FieldOffset(64)] + internal __IntPtr fallthroughHandler; + + [FieldOffset(72)] + internal __IntPtr allocate; + + [FieldOffset(80)] + internal __IntPtr deallocate; + + [FieldOffset(88)] + internal __IntPtr returnValueInit; + + [FieldOffset(96)] + internal __IntPtr resultDecl; + + [FieldOffset(104)] + internal __IntPtr returnStmt; + + [FieldOffset(112)] + internal __IntPtr returnStmtOnAllocFailure; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CoroutineBodyStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CoroutineBodyStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public enum SubStmt + { + Body = 0, + Promise = 1, + InitSuspend = 2, + FinalSuspend = 3, + OnException = 4, + OnFallthrough = 5, + Allocate = 6, + Deallocate = 7, + ReturnValue = 8, + ResultDecl = 9, + ReturnStmt = 10, + ReturnStmtOnAllocFailure = 11, + FirstParamMove = 12 + } + + public unsafe partial class CtorArgs : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 1)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CoroutineBodyStmt8CtorArgsC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CoroutineBodyStmt8CtorArgsC2ERKS3_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static CtorArgs __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CtorArgs(native.ToPointer(), skipVTables); + } + + internal static CtorArgs __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CtorArgs)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CtorArgs __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CtorArgs(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CtorArgs(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CtorArgs(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public CtorArgs() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new CoroutineBodyStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CoroutineBodyStmt(native.ToPointer(), skipVTables); + } + + internal static new CoroutineBodyStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CoroutineBodyStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CoroutineBodyStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CoroutineBodyStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoroutineBodyStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CoroutineBodyStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CoroutineBodyStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) _0.__Instance); + } + + public bool HasDependentPromiseType + { + get + { + return ((__Internal*)__Instance)->hasDependentPromiseType != 0; + } + + set + { + ((__Internal*)__Instance)->hasDependentPromiseType = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->body, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->body = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt PromiseDeclStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->promiseDeclStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->promiseDeclStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt InitSuspendStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->initSuspendStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->initSuspendStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt FinalSuspendStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->finalSuspendStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->finalSuspendStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ExceptionHandler + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->exceptionHandler, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->exceptionHandler = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt FallthroughHandler + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->fallthroughHandler, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->fallthroughHandler = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Allocate + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->allocate, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->allocate = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Deallocate + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->deallocate, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->deallocate = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ReturnValueInit + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->returnValueInit, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->returnValueInit = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ResultDecl + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->resultDecl, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->resultDecl = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ReturnStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->returnStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->returnStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt ReturnStmtOnAllocFailure + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->returnStmtOnAllocFailure, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->returnStmtOnAllocFailure = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoreturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] + internal byte isImplicit; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(32)] + internal __IntPtr operand; + + [FieldOffset(40)] + internal __IntPtr promiseCall; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CoreturnStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CoreturnStmtC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public enum SubStmt + { + Operand = 0, + PromiseCall = 1, + Count = 2 + } + + internal static new CoreturnStmt __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CoreturnStmt(native.ToPointer(), skipVTables); + } + + internal static new CoreturnStmt __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CoreturnStmt)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CoreturnStmt __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CoreturnStmt(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoreturnStmt(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CoreturnStmt(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CoreturnStmt() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) _0.__Instance); + } + + public bool IsImplicit + { + get + { + return ((__Internal*)__Instance)->isImplicit != 0; + } + + set + { + ((__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->keywordLoc); + } + + set + { + ((__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->operand, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->operand = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr PromiseCall + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->promiseCall, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->promiseCall = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + namespace AST + { + public enum CastKind + { + Dependent = 0, + BitCast = 1, + LValueBitCast = 2, + LValueToRValue = 3, + NoOp = 4, + BaseToDerived = 5, + DerivedToBase = 6, + UncheckedDerivedToBase = 7, + Dynamic = 8, + ToUnion = 9, + ArrayToPointerDecay = 10, + FunctionToPointerDecay = 11, + NullToPointer = 12, + NullToMemberPointer = 13, + BaseToDerivedMemberPointer = 14, + DerivedToBaseMemberPointer = 15, + MemberPointerToBoolean = 16, + ReinterpretMemberPointer = 17, + UserDefinedConversion = 18, + ConstructorConversion = 19, + IntegralToPointer = 20, + PointerToIntegral = 21, + PointerToBoolean = 22, + ToVoid = 23, + VectorSplat = 24, + IntegralCast = 25, + IntegralToBoolean = 26, + IntegralToFloating = 27, + FixedPointCast = 28, + FixedPointToBoolean = 29, + FloatingToIntegral = 30, + FloatingToBoolean = 31, + BooleanToSignedIntegral = 32, + FloatingCast = 33, + CPointerToObjCPointerCast = 34, + BlockPointerToObjCPointerCast = 35, + AnyPointerToBlockPointerCast = 36, + ObjCObjectLValueCast = 37, + FloatingRealToComplex = 38, + FloatingComplexToReal = 39, + FloatingComplexToBoolean = 40, + FloatingComplexCast = 41, + FloatingComplexToIntegralComplex = 42, + IntegralRealToComplex = 43, + IntegralComplexToReal = 44, + IntegralComplexToBoolean = 45, + IntegralComplexCast = 46, + IntegralComplexToFloatingComplex = 47, + ARCProduceObject = 48, + ARCConsumeObject = 49, + ARCReclaimReturnedObject = 50, + ARCExtendBlockObject = 51, + AtomicToNonAtomic = 52, + NonAtomicToAtomic = 53, + CopyAndAutoreleaseBlockObject = 54, + BuiltinFnToFnPtr = 55, + ZeroToOCLOpaqueType = 56, + AddressSpaceConversion = 57, + IntToOCLSampler = 58 + } + + public enum BinaryOperatorKind + { + PtrMemD = 0, + PtrMemI = 1, + Mul = 2, + Div = 3, + Rem = 4, + Add = 5, + Sub = 6, + Shl = 7, + Shr = 8, + Cmp = 9, + LT = 10, + GT = 11, + LE = 12, + GE = 13, + EQ = 14, + NE = 15, + And = 16, + Xor = 17, + Or = 18, + LAnd = 19, + LOr = 20, + Assign = 21, + MulAssign = 22, + DivAssign = 23, + RemAssign = 24, + AddAssign = 25, + SubAssign = 26, + ShlAssign = 27, + ShrAssign = 28, + AndAssign = 29, + XorAssign = 30, + OrAssign = 31, + Comma = 32 + } + + public enum UnaryOperatorKind + { + PostInc = 0, + PostDec = 1, + PreInc = 2, + PreDec = 3, + AddrOf = 4, + Deref = 5, + Plus = 6, + Minus = 7, + Not = 8, + LNot = 9, + Real = 10, + Imag = 11, + Extension = 12, + Coawait = 13 + } + + public enum ObjCBridgeCastKind + { + Bridge = 0, + BridgeTransfer = 1, + BridgeRetained = 2 + } + + public enum OverloadedOperatorKind + { + None = 0, + New = 1, + Delete = 2, + ArrayNew = 3, + ArrayDelete = 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, + Spaceship = 34, + AmpAmp = 35, + PipePipe = 36, + PlusPlus = 37, + MinusMinus = 38, + Comma = 39, + ArrowStar = 40, + Arrow = 41, + Call = 42, + Subscript = 43, + Conditional = 44, + Coawait = 45 + } + + public enum UnaryExprOrTypeTrait + { + SizeOf = 0, + AlignOf = 1, + VecStep = 2, + OpenMPRequiredSimdAlign = 3, + PreferredAlignOf = 4 + } + + public unsafe partial class Expr : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4ExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4ExprC2ENS1_9StmtClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4ExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public enum LValueClassification + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + InvalidMessageExpression = 5, + MemberFunction = 6, + SubObjCPropertySetting = 7, + ClassTemporary = 8, + ArrayTemporary = 9 + } + + public enum IsModifiableLvalueResult + { + Valid = 0, + NotObjectType = 1, + IncompleteVoidType = 2, + DuplicateVectorComponents = 3, + InvalidExpression = 4, + LValueCast = 5, + IncompleteType = 6, + ConstQualified = 7, + ConstQualifiedField = 8, + ConstAddrSpace = 9, + ArrayType = 10, + NoSetterProperty = 11, + MemberFunction = 12, + SubObjCPropertySetting = 13, + InvalidMessageExpression = 14, + ClassTemporary = 15, + ArrayTemporary = 16 + } + + public enum SideEffectsKind + { + NoSideEffects = 0, + AllowUndefinedBehavior = 1, + AllowSideEffects = 2 + } + + public enum ConstExprUsage + { + EvaluateForCodeGen = 0, + EvaluateForMangling = 1 + } + + public enum NullPointerConstantKind + { + NotNull = 0, + ZeroExpression = 1, + ZeroLiteral = 2, + CXX11_nullptr = 3, + GNUNull = 4 + } + + public enum NullPointerConstantValueDependence + { + NeverValueDependent = 0, + ValueDependentIsNull = 1, + ValueDependentIsNotNull = 2 + } + + public unsafe partial class Classification : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 16)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.Expr.Classification.Kinds kind; + + [FieldOffset(4)] + internal global::CppSharp.Parser.AST.Expr.Classification.ModifiableType modifiable; + + [FieldOffset(8)] + internal byte isLValue; + + [FieldOffset(9)] + internal byte isXValue; + + [FieldOffset(10)] + internal byte isGLValue; + + [FieldOffset(11)] + internal byte isPRValue; + + [FieldOffset(12)] + internal byte isRValue; + + [FieldOffset(13)] + internal byte isModifiable; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4Expr14ClassificationC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4Expr14ClassificationC2ERKS3_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public enum Kinds + { + LValue = 0, + XValue = 1, + Function = 2, + Void = 3, + AddressableVoid = 4, + DuplicateVectorComponents = 5, + MemberFunction = 6, + SubObjCPropertySetting = 7, + ClassTemporary = 8, + ArrayTemporary = 9, + ObjCMessageRValue = 10, + PRValue = 11 + } + + public enum ModifiableType + { + Untested = 0, + Modifiable = 1, + RValue = 2, + Function = 3, + LValueCast = 4, + NoSetterProperty = 5, + ConstQualified = 6, + ConstQualifiedField = 7, + ConstAddrSpace = 8, + ArrayType = 9, + IncompleteType = 10 + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.Expr.Classification managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.Expr.Classification managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static Classification __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Classification(native.ToPointer(), skipVTables); + } + + internal static Classification __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Classification)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Classification __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Classification(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private Classification(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Classification(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public Classification() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Classification(global::CppSharp.Parser.AST.Expr.Classification _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr.Classification.Kinds Kind + { + get + { + return ((__Internal*)__Instance)->kind; + } + + set + { + ((__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.AST.Expr.Classification.ModifiableType Modifiable + { + get + { + return ((__Internal*)__Instance)->modifiable; + } + + set + { + ((__Internal*)__Instance)->modifiable = value; + } + } + + public bool IsLValue + { + get + { + return ((__Internal*)__Instance)->isLValue != 0; + } + + set + { + ((__Internal*)__Instance)->isLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsXValue + { + get + { + return ((__Internal*)__Instance)->isXValue != 0; + } + + set + { + ((__Internal*)__Instance)->isXValue = (byte) (value ? 1 : 0); + } + } + + public bool IsGLValue + { + get + { + return ((__Internal*)__Instance)->isGLValue != 0; + } + + set + { + ((__Internal*)__Instance)->isGLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsPRValue + { + get + { + return ((__Internal*)__Instance)->isPRValue != 0; + } + + set + { + ((__Internal*)__Instance)->isPRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsRValue + { + get + { + return ((__Internal*)__Instance)->isRValue != 0; + } + + set + { + ((__Internal*)__Instance)->isRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsModifiable + { + get + { + return ((__Internal*)__Instance)->isModifiable != 0; + } + + set + { + ((__Internal*)__Instance)->isModifiable = (byte) (value ? 1 : 0); + } + } + } + + internal static new Expr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Expr(native.ToPointer(), skipVTables); + } + + internal static new Expr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Expr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Expr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Expr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private Expr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Expr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public Expr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Expr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public Expr(global::CppSharp.Parser.AST.Expr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Expr.__Internal*) _0.__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.Expr(global::CppSharp.Parser.AST.StmtClass klass) + { + return new global::CppSharp.Parser.AST.Expr(klass); + } + + public global::CppSharp.Parser.AST.QualifiedType Type + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->type)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->type = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool ValueDependent + { + get + { + return ((__Internal*)__Instance)->valueDependent != 0; + } + + set + { + ((__Internal*)__Instance)->valueDependent = (byte) (value ? 1 : 0); + } + } + + public bool TypeDependent + { + get + { + return ((__Internal*)__Instance)->typeDependent != 0; + } + + set + { + ((__Internal*)__Instance)->typeDependent = (byte) (value ? 1 : 0); + } + } + + public bool InstantiationDependent + { + get + { + return ((__Internal*)__Instance)->instantiationDependent != 0; + } + + set + { + ((__Internal*)__Instance)->instantiationDependent = (byte) (value ? 1 : 0); + } + } + + public bool ContainsUnexpandedParameterPack + { + get + { + return ((__Internal*)__Instance)->containsUnexpandedParameterPack != 0; + } + + set + { + ((__Internal*)__Instance)->containsUnexpandedParameterPack = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation ExprLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->exprLoc); + } + + set + { + ((__Internal*)__Instance)->exprLoc = value.__Instance; + } + } + + public bool IsLValue + { + get + { + return ((__Internal*)__Instance)->isLValue != 0; + } + + set + { + ((__Internal*)__Instance)->isLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsRValue + { + get + { + return ((__Internal*)__Instance)->isRValue != 0; + } + + set + { + ((__Internal*)__Instance)->isRValue = (byte) (value ? 1 : 0); + } + } + + public bool IsXValue + { + get + { + return ((__Internal*)__Instance)->isXValue != 0; + } + + set + { + ((__Internal*)__Instance)->isXValue = (byte) (value ? 1 : 0); + } + } + + public bool IsGLValue + { + get + { + return ((__Internal*)__Instance)->isGLValue != 0; + } + + set + { + ((__Internal*)__Instance)->isGLValue = (byte) (value ? 1 : 0); + } + } + + public bool IsOrdinaryOrBitFieldObject + { + get + { + return ((__Internal*)__Instance)->isOrdinaryOrBitFieldObject != 0; + } + + set + { + ((__Internal*)__Instance)->isOrdinaryOrBitFieldObject = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Field SourceBitField + { + get + { + var __result0 = global::CppSharp.Parser.AST.Field.__GetOrCreateInstance(((__Internal*)__Instance)->sourceBitField, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->sourceBitField = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration ReferencedDeclOfCallee + { + get + { + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->referencedDeclOfCallee, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->referencedDeclOfCallee = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool HasPlaceholderType + { + get + { + return ((__Internal*)__Instance)->hasPlaceholderType != 0; + } + + set + { + ((__Internal*)__Instance)->hasPlaceholderType = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class FullExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8FullExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8FullExprC2ENS1_9StmtClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8FullExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new FullExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new FullExpr(native.ToPointer(), skipVTables); + } + + internal static new FullExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (FullExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static FullExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new FullExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private FullExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected FullExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public FullExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FullExpr.__Internal*) _0.__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.FullExpr(global::CppSharp.Parser.AST.StmtClass klass) + { + return new global::CppSharp.Parser.AST.FullExpr(klass); + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->subExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ConstantExpr : global::CppSharp.Parser.AST.FullExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12ConstantExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12ConstantExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ConstantExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ConstantExpr(native.ToPointer(), skipVTables); + } + + internal static new ConstantExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ConstantExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ConstantExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ConstantExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConstantExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ConstantExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ConstantExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class OpaqueValueExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(73)] + internal byte isUnique; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] + internal __IntPtr sourceExpr; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15OpaqueValueExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15OpaqueValueExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new OpaqueValueExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new OpaqueValueExpr(native.ToPointer(), skipVTables); + } + + internal static new OpaqueValueExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (OpaqueValueExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static OpaqueValueExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new OpaqueValueExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private OpaqueValueExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected OpaqueValueExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public OpaqueValueExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) _0.__Instance); + } + + public bool IsUnique + { + get + { + return ((__Internal*)__Instance)->isUnique != 0; + } + + set + { + ((__Internal*)__Instance)->isUnique = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->location); + } + + set + { + ((__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SourceExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->sourceExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->sourceExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] + internal byte hadMultipleCandidates; + + [FieldOffset(81)] + internal byte hasQualifier; + + [FieldOffset(88)] + internal __IntPtr foundDecl; + + [FieldOffset(96)] + internal byte hasTemplateKWAndArgsInfo; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(112)] + internal byte hasTemplateKeyword; + + [FieldOffset(113)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(116)] + internal uint numTemplateArgs; + + [FieldOffset(120)] + internal byte refersToEnclosingVariableOrCapture; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DeclRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DeclRefExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new DeclRefExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new DeclRefExpr(native.ToPointer(), skipVTables); + } + + internal static new DeclRefExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (DeclRefExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static DeclRefExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new DeclRefExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private DeclRefExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected DeclRefExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public DeclRefExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->location); + } + + set + { + ((__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool HadMultipleCandidates + { + get + { + return ((__Internal*)__Instance)->hadMultipleCandidates != 0; + } + + set + { + ((__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool HasQualifier + { + get + { + return ((__Internal*)__Instance)->hasQualifier != 0; + } + + set + { + ((__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Declaration FoundDecl + { + get + { + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->foundDecl, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->foundDecl = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool HasTemplateKWAndArgsInfo + { + get + { + return ((__Internal*)__Instance)->hasTemplateKWAndArgsInfo != 0; + } + + set + { + ((__Internal*)__Instance)->hasTemplateKWAndArgsInfo = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->templateKeywordLoc); + } + + set + { + ((__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lAngleLoc); + } + + set + { + ((__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rAngleLoc); + } + + set + { + ((__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((__Internal*)__Instance)->hasTemplateKeyword != 0; + } + + set + { + ((__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((__Internal*)__Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((__Internal*)__Instance)->numTemplateArgs; + } + + set + { + ((__Internal*)__Instance)->numTemplateArgs = value; + } + } + + public bool RefersToEnclosingVariableOrCapture + { + get + { + return ((__Internal*)__Instance)->refersToEnclosingVariableOrCapture != 0; + } + + set + { + ((__Internal*)__Instance)->refersToEnclosingVariableOrCapture = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class IntegerLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] + internal ulong value; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14IntegerLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14IntegerLiteralC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new IntegerLiteral __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new IntegerLiteral(native.ToPointer(), skipVTables); + } + + internal static new IntegerLiteral __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (IntegerLiteral)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static IntegerLiteral __CreateInstance(__Internal native, bool skipVTables = false) + { + return new IntegerLiteral(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private IntegerLiteral(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected IntegerLiteral(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public IntegerLiteral() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->location); + } + + set + { + ((__Internal*)__Instance)->location = value.__Instance; + } + } + + public ulong Value + { + get + { + return ((__Internal*)__Instance)->value; + } + + set + { + ((__Internal*)__Instance)->value = value; + } + } + } + + public unsafe partial class FixedPointLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] + internal ulong value; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17FixedPointLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17FixedPointLiteralC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new FixedPointLiteral __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new FixedPointLiteral(native.ToPointer(), skipVTables); + } + + internal static new FixedPointLiteral __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (FixedPointLiteral)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static FixedPointLiteral __CreateInstance(__Internal native, bool skipVTables = false) + { + return new FixedPointLiteral(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private FixedPointLiteral(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected FixedPointLiteral(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public FixedPointLiteral() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->location); + } + + set + { + ((__Internal*)__Instance)->location = value.__Instance; + } + } + + public ulong Value + { + get + { + return ((__Internal*)__Instance)->value; + } + + set + { + ((__Internal*)__Instance)->value = value; + } + } + } + + public unsafe partial class CharacterLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind kind; + + [FieldOffset(84)] + internal uint value; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CharacterLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CharacterLiteralC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public enum CharacterKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + } + + internal static new CharacterLiteral __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CharacterLiteral(native.ToPointer(), skipVTables); + } + + internal static new CharacterLiteral __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CharacterLiteral)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CharacterLiteral __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CharacterLiteral(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CharacterLiteral(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CharacterLiteral(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CharacterLiteral() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->location); + } + + set + { + ((__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind Kind + { + get + { + return ((__Internal*)__Instance)->kind; + } + + set + { + ((__Internal*)__Instance)->kind = value; + } + } + + public uint Value + { + get + { + return ((__Internal*)__Instance)->value; + } + + set + { + ((__Internal*)__Instance)->value = value; + } + } + } + + public unsafe partial class FloatingLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(73)] + internal byte exact; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] + internal double valueAsApproximateDouble; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15FloatingLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15FloatingLiteralC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new FloatingLiteral __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new FloatingLiteral(native.ToPointer(), skipVTables); + } + + internal static new FloatingLiteral __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (FloatingLiteral)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static FloatingLiteral __CreateInstance(__Internal native, bool skipVTables = false) + { + return new FloatingLiteral(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private FloatingLiteral(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected FloatingLiteral(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public FloatingLiteral() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) _0.__Instance); + } + + public bool Exact + { + get + { + return ((__Internal*)__Instance)->exact != 0; + } + + set + { + ((__Internal*)__Instance)->exact = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->location); + } + + set + { + ((__Internal*)__Instance)->location = value.__Instance; + } + } + + public double ValueAsApproximateDouble + { + get + { + return ((__Internal*)__Instance)->valueAsApproximateDouble; + } + + set + { + ((__Internal*)__Instance)->valueAsApproximateDouble = value; + } + } + } + + public unsafe partial class ImaginaryLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ImaginaryLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ImaginaryLiteralC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ImaginaryLiteral __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ImaginaryLiteral(native.ToPointer(), skipVTables); + } + + internal static new ImaginaryLiteral __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ImaginaryLiteral)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ImaginaryLiteral __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ImaginaryLiteral(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImaginaryLiteral(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ImaginaryLiteral(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ImaginaryLiteral() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->subExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 160)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Bytes; + + [FieldOffset(128)] + internal uint byteLength; + + [FieldOffset(132)] + internal uint length; + + [FieldOffset(136)] + internal uint charByteWidth; + + [FieldOffset(140)] + internal global::CppSharp.Parser.AST.StringLiteral.StringKind kind; + + [FieldOffset(144)] + internal byte isAscii; + + [FieldOffset(145)] + internal byte isWide; + + [FieldOffset(146)] + internal byte isUTF8; + + [FieldOffset(147)] + internal byte isUTF16; + + [FieldOffset(148)] + internal byte isUTF32; + + [FieldOffset(149)] + internal byte isPascal; + + [FieldOffset(150)] + internal byte containsNonAscii; + + [FieldOffset(151)] + internal byte containsNonAsciiOrNull; + + [FieldOffset(152)] + internal uint numConcatenated; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteralC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteralD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral8getBytesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBytes(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral8setBytesEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBytes(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + public enum StringKind + { + Ascii = 0, + Wide = 1, + UTF8 = 2, + UTF16 = 3, + UTF32 = 4 + } + + internal static new StringLiteral __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new StringLiteral(native.ToPointer(), skipVTables); + } + + internal static new StringLiteral __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (StringLiteral)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static StringLiteral __CreateInstance(__Internal native, bool skipVTables = false) + { + return new StringLiteral(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.StringLiteral.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private StringLiteral(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected StringLiteral(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public StringLiteral() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public StringLiteral(global::CppSharp.Parser.AST.StringLiteral _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public uint ByteLength + { + get + { + return ((__Internal*)__Instance)->byteLength; + } + + set + { + ((__Internal*)__Instance)->byteLength = value; + } + } + + public uint Length + { + get + { + return ((__Internal*)__Instance)->length; + } + + set + { + ((__Internal*)__Instance)->length = value; + } + } + + public uint CharByteWidth + { + get + { + return ((__Internal*)__Instance)->charByteWidth; + } + + set + { + ((__Internal*)__Instance)->charByteWidth = value; + } + } + + public global::CppSharp.Parser.AST.StringLiteral.StringKind Kind + { + get + { + return ((__Internal*)__Instance)->kind; + } + + set + { + ((__Internal*)__Instance)->kind = value; + } + } + + public bool IsAscii + { + get + { + return ((__Internal*)__Instance)->isAscii != 0; + } + + set + { + ((__Internal*)__Instance)->isAscii = (byte) (value ? 1 : 0); + } + } + + public bool IsWide + { + get + { + return ((__Internal*)__Instance)->isWide != 0; + } + + set + { + ((__Internal*)__Instance)->isWide = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF8 + { + get + { + return ((__Internal*)__Instance)->isUTF8 != 0; + } + + set + { + ((__Internal*)__Instance)->isUTF8 = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF16 + { + get + { + return ((__Internal*)__Instance)->isUTF16 != 0; + } + + set + { + ((__Internal*)__Instance)->isUTF16 = (byte) (value ? 1 : 0); + } + } + + public bool IsUTF32 + { + get + { + return ((__Internal*)__Instance)->isUTF32 != 0; + } + + set + { + ((__Internal*)__Instance)->isUTF32 = (byte) (value ? 1 : 0); + } + } + + public bool IsPascal + { + get + { + return ((__Internal*)__Instance)->isPascal != 0; + } + + set + { + ((__Internal*)__Instance)->isPascal = (byte) (value ? 1 : 0); + } + } + + public bool ContainsNonAscii + { + get + { + return ((__Internal*)__Instance)->containsNonAscii != 0; + } + + set + { + ((__Internal*)__Instance)->containsNonAscii = (byte) (value ? 1 : 0); + } + } + + public bool ContainsNonAsciiOrNull + { + get + { + return ((__Internal*)__Instance)->containsNonAsciiOrNull != 0; + } + + set + { + ((__Internal*)__Instance)->containsNonAsciiOrNull = (byte) (value ? 1 : 0); + } + } + + public uint NumConcatenated + { + get + { + return ((__Internal*)__Instance)->numConcatenated; + } + + set + { + ((__Internal*)__Instance)->numConcatenated = value; + } + } + + public string String + { + get + { + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetString(__Instance, value); + } + } + + public string Bytes + { + get + { + var ___ret = __Internal.GetBytes(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetBytes(__Instance, value); + } + } + } + + public unsafe partial class PredefinedExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14PredefinedExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14PredefinedExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public enum IdentKind + { + Func = 0, + Function = 1, + LFunction = 2, + FuncDName = 3, + FuncSig = 4, + LFuncSig = 5, + PrettyFunction = 6, + PrettyFunctionNoVirtual = 7 + } + + internal static new PredefinedExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new PredefinedExpr(native.ToPointer(), skipVTables); + } + + internal static new PredefinedExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (PredefinedExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static PredefinedExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new PredefinedExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private PredefinedExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected PredefinedExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public PredefinedExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->location); + } + + set + { + ((__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind + { + get + { + return ((__Internal*)__Instance)->identKind; + } + + set + { + ((__Internal*)__Instance)->identKind = value; + } + } + } + + public unsafe partial class ParenExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParen; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParen; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ParenExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ParenExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ParenExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ParenExpr(native.ToPointer(), skipVTables); + } + + internal static new ParenExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ParenExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ParenExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ParenExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ParenExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ParenExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ParenExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->subExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParen + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lParen); + } + + set + { + ((__Internal*)__Instance)->lParen = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParen + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParen); + } + + set + { + ((__Internal*)__Instance)->rParen = value.__Instance; + } + } + } + + public unsafe partial class UnaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.UnaryOperatorKind opcode; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(92)] + internal byte canOverflow; + + [FieldOffset(93)] + internal byte isPrefix; + + [FieldOffset(94)] + internal byte isPostfix; + + [FieldOffset(95)] + internal byte isIncrementOp; + + [FieldOffset(96)] + internal byte isDecrementOp; + + [FieldOffset(97)] + internal byte isIncrementDecrementOp; + + [FieldOffset(98)] + internal byte isArithmeticOp; + + [FieldOffset(99)] + internal byte isFPContractableWithinStatement; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13UnaryOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13UnaryOperatorC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new UnaryOperator __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new UnaryOperator(native.ToPointer(), skipVTables); + } + + internal static new UnaryOperator __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (UnaryOperator)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static UnaryOperator __CreateInstance(__Internal native, bool skipVTables = false) + { + return new UnaryOperator(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnaryOperator(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected UnaryOperator(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public UnaryOperator() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.UnaryOperatorKind Opcode + { + get + { + return ((__Internal*)__Instance)->opcode; + } + + set + { + ((__Internal*)__Instance)->opcode = value; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->subExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->operatorLoc); + } + + set + { + ((__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool CanOverflow + { + get + { + return ((__Internal*)__Instance)->canOverflow != 0; + } + + set + { + ((__Internal*)__Instance)->canOverflow = (byte) (value ? 1 : 0); + } + } + + public bool IsPrefix + { + get + { + return ((__Internal*)__Instance)->isPrefix != 0; + } + + set + { + ((__Internal*)__Instance)->isPrefix = (byte) (value ? 1 : 0); + } + } + + public bool IsPostfix + { + get + { + return ((__Internal*)__Instance)->isPostfix != 0; + } + + set + { + ((__Internal*)__Instance)->isPostfix = (byte) (value ? 1 : 0); + } + } + + public bool IsIncrementOp + { + get + { + return ((__Internal*)__Instance)->isIncrementOp != 0; + } + + set + { + ((__Internal*)__Instance)->isIncrementOp = (byte) (value ? 1 : 0); + } + } + + public bool IsDecrementOp + { + get + { + return ((__Internal*)__Instance)->isDecrementOp != 0; + } + + set + { + ((__Internal*)__Instance)->isDecrementOp = (byte) (value ? 1 : 0); + } + } + + public bool IsIncrementDecrementOp + { + get + { + return ((__Internal*)__Instance)->isIncrementDecrementOp != 0; + } + + set + { + ((__Internal*)__Instance)->isIncrementDecrementOp = (byte) (value ? 1 : 0); + } + } + + public bool IsArithmeticOp + { + get + { + return ((__Internal*)__Instance)->isArithmeticOp != 0; + } + + set + { + ((__Internal*)__Instance)->isArithmeticOp = (byte) (value ? 1 : 0); + } + } + + public bool IsFPContractableWithinStatement + { + get + { + return ((__Internal*)__Instance)->isFPContractableWithinStatement != 0; + } + + set + { + ((__Internal*)__Instance)->isFPContractableWithinStatement = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class OffsetOfExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numComponents; + + [FieldOffset(88)] + internal uint numExpressions; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OffsetOfExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OffsetOfExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new OffsetOfExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new OffsetOfExpr(native.ToPointer(), skipVTables); + } + + internal static new OffsetOfExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (OffsetOfExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static OffsetOfExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new OffsetOfExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private OffsetOfExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected OffsetOfExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public OffsetOfExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->operatorLoc); + } + + set + { + ((__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumComponents + { + get + { + return ((__Internal*)__Instance)->numComponents; + } + + set + { + ((__Internal*)__Instance)->numComponents = value; + } + } + + public uint NumExpressions + { + get + { + return ((__Internal*)__Instance)->numExpressions; + } + + set + { + ((__Internal*)__Instance)->numExpressions = value; + } + } + } + + public unsafe partial class UnaryExprOrTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.UnaryExprOrTypeTrait kind; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(88)] + internal byte isArgumentType; + + [FieldOffset(96)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal argumentType; + + [FieldOffset(112)] + internal __IntPtr argumentExpr; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeOfArgument; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24UnaryExprOrTypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24UnaryExprOrTypeTraitExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new UnaryExprOrTypeTraitExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new UnaryExprOrTypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static new UnaryExprOrTypeTraitExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (UnaryExprOrTypeTraitExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static UnaryExprOrTypeTraitExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new UnaryExprOrTypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnaryExprOrTypeTraitExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected UnaryExprOrTypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public UnaryExprOrTypeTraitExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.UnaryExprOrTypeTrait Kind + { + get + { + return ((__Internal*)__Instance)->kind; + } + + set + { + ((__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->operatorLoc); + } + + set + { + ((__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsArgumentType + { + get + { + return ((__Internal*)__Instance)->isArgumentType != 0; + } + + set + { + ((__Internal*)__Instance)->isArgumentType = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.QualifiedType ArgumentType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->argumentType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->argumentType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ArgumentExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->argumentExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->argumentExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType TypeOfArgument + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->typeOfArgument)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->typeOfArgument = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class ArraySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr lHS; + + [FieldOffset(88)] + internal __IntPtr rHS; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(104)] + internal __IntPtr @base; + + [FieldOffset(112)] + internal __IntPtr idx; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArraySubscriptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArraySubscriptExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ArraySubscriptExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ArraySubscriptExpr(native.ToPointer(), skipVTables); + } + + internal static new ArraySubscriptExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ArraySubscriptExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ArraySubscriptExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ArraySubscriptExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArraySubscriptExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ArraySubscriptExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ArraySubscriptExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->lHS, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->lHS = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->rHS, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->rHS = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rBracketLoc); + } + + set + { + ((__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Base + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->@base, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->@base = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Idx + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->idx, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->idx = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 152)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] + internal __IntPtr callee; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] + internal __IntPtr calleeDecl; + + [FieldOffset(128)] + internal __IntPtr directCallee; + + [FieldOffset(136)] + internal uint numArgs; + + [FieldOffset(140)] + internal uint numCommas; + + [FieldOffset(144)] + internal uint builtinCallee; + + [FieldOffset(148)] + internal byte isCallToStdMove; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CallExprC2ENS1_9StmtClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CallExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CallExprD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CallExpr12getargumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Getarguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CallExpr12addargumentsERPNS1_4ExprE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void Addarguments(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CallExpr14clearargumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void Cleararguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CallExpr17getargumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetargumentsCount(__IntPtr __instance); + } + + internal static new CallExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CallExpr(native.ToPointer(), skipVTables); + } + + internal static new CallExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CallExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CallExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CallExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CallExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CallExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CallExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var ___ret = __Internal.Getarguments(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void Addarguments(global::CppSharp.Parser.AST.Expr s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.Addarguments(__Instance, __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments(__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.CallExpr(global::CppSharp.Parser.AST.StmtClass klass) + { + return new global::CppSharp.Parser.AST.CallExpr(klass); + } + + public global::CppSharp.Parser.AST.Expr Callee + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->callee, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->callee = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration CalleeDecl + { + get + { + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->calleeDecl, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->calleeDecl = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function DirectCallee + { + get + { + var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(((__Internal*)__Instance)->directCallee, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->directCallee = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint NumArgs + { + get + { + return ((__Internal*)__Instance)->numArgs; + } + + set + { + ((__Internal*)__Instance)->numArgs = value; + } + } + + public uint NumCommas + { + get + { + return ((__Internal*)__Instance)->numCommas; + } + + set + { + ((__Internal*)__Instance)->numCommas = value; + } + } + + public uint BuiltinCallee + { + get + { + return ((__Internal*)__Instance)->builtinCallee; + } + + set + { + ((__Internal*)__Instance)->builtinCallee = value; + } + } + + public bool IsCallToStdMove + { + get + { + return ((__Internal*)__Instance)->isCallToStdMove != 0; + } + + set + { + ((__Internal*)__Instance)->isCallToStdMove = (byte) (value ? 1 : 0); + } + } + + public uint GetargumentsCount + { + get + { + var ___ret = __Internal.GetargumentsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class MemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr @base; + + [FieldOffset(88)] + internal byte arrow; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(96)] + internal byte hadMultipleCandidates; + + [FieldOffset(97)] + internal byte hasQualifier; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(112)] + internal byte hasTemplateKeyword; + + [FieldOffset(113)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(116)] + internal uint numTemplateArgs; + + [FieldOffset(120)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(124)] + internal byte isImplicitAccess; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10MemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10MemberExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new MemberExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new MemberExpr(native.ToPointer(), skipVTables); + } + + internal static new MemberExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (MemberExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static MemberExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new MemberExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private MemberExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected MemberExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public MemberExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MemberExpr(global::CppSharp.Parser.AST.MemberExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MemberExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Base + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->@base, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->@base = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool Arrow + { + get + { + return ((__Internal*)__Instance)->arrow != 0; + } + + set + { + ((__Internal*)__Instance)->arrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->memberLoc); + } + + set + { + ((__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + + public bool HadMultipleCandidates + { + get + { + return ((__Internal*)__Instance)->hadMultipleCandidates != 0; + } + + set + { + ((__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool HasQualifier + { + get + { + return ((__Internal*)__Instance)->hasQualifier != 0; + } + + set + { + ((__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->templateKeywordLoc); + } + + set + { + ((__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lAngleLoc); + } + + set + { + ((__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rAngleLoc); + } + + set + { + ((__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((__Internal*)__Instance)->hasTemplateKeyword != 0; + } + + set + { + ((__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((__Internal*)__Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((__Internal*)__Instance)->numTemplateArgs; + } + + set + { + ((__Internal*)__Instance)->numTemplateArgs = value; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->operatorLoc); + } + + set + { + ((__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public bool IsImplicitAccess + { + get + { + return ((__Internal*)__Instance)->isImplicitAccess != 0; + } + + set + { + ((__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CompoundLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr initializer; + + [FieldOffset(88)] + internal byte fileScope; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19CompoundLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19CompoundLiteralExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CompoundLiteralExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CompoundLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static new CompoundLiteralExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CompoundLiteralExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CompoundLiteralExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CompoundLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CompoundLiteralExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CompoundLiteralExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CompoundLiteralExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Initializer + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->initializer, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->initializer = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool FileScope + { + get + { + return ((__Internal*)__Instance)->fileScope != 0; + } + + set + { + ((__Internal*)__Instance)->fileScope = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lParenLoc); + } + + set + { + ((__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + } + + public unsafe partial class CastExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal __IntPtr castKindName; + + [FieldOffset(96)] + internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] + internal __IntPtr conversionFunction; + + [FieldOffset(112)] + internal byte path_empty; + + [FieldOffset(116)] + internal uint path_size; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CastExprC2ENS1_9StmtClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CastExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + private bool __castKindName_OwnsNativeMemory = false; + internal static new CastExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CastExpr(native.ToPointer(), skipVTables); + } + + internal static new CastExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CastExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CastExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CastExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CastExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CastExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CastExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public CastExpr(global::CppSharp.Parser.AST.CastExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CastExpr.__Internal*) _0.__Instance); + if (_0.__castKindName_OwnsNativeMemory) + this.CastKindName = _0.CastKindName; + } + + public static implicit operator global::CppSharp.Parser.AST.CastExpr(global::CppSharp.Parser.AST.StmtClass klass) + { + return new global::CppSharp.Parser.AST.CastExpr(klass); + } + + public global::CppSharp.Parser.AST.CastKind CastKind + { + get + { + return ((__Internal*)__Instance)->castKind; + } + + set + { + ((__Internal*)__Instance)->castKind = value; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->subExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public string CastKindName + { + get + { + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ((__Internal*)__Instance)->castKindName); + } + + set + { + if (__castKindName_OwnsNativeMemory) + Marshal.FreeHGlobal(((__Internal*)__Instance)->castKindName); + __castKindName_OwnsNativeMemory = true; + if (value == null) + { + ((__Internal*)__Instance)->castKindName = global::System.IntPtr.Zero; + return; + } + var __bytes0 = global::System.Text.Encoding.UTF8.GetBytes(value); + var __bytePtr0 = Marshal.AllocHGlobal(__bytes0.Length + 1); + Marshal.Copy(__bytes0, 0, __bytePtr0, __bytes0.Length); + Marshal.WriteByte(__bytePtr0 + __bytes0.Length, 0); + ((__Internal*)__Instance)->castKindName = (__IntPtr) __bytePtr0; + } + } + + public global::CppSharp.Parser.AST.Expr SubExprAsWritten + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->subExprAsWritten, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subExprAsWritten = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration ConversionFunction + { + get + { + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->conversionFunction, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->conversionFunction = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool PathEmpty + { + get + { + return ((__Internal*)__Instance)->path_empty != 0; + } + + set + { + ((__Internal*)__Instance)->path_empty = (byte) (value ? 1 : 0); + } + } + + public uint PathSize + { + get + { + return ((__Internal*)__Instance)->path_size; + } + + set + { + ((__Internal*)__Instance)->path_size = value; + } + } + } + + public unsafe partial class ImplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal __IntPtr castKindName; + + [FieldOffset(96)] + internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] + internal __IntPtr conversionFunction; + + [FieldOffset(112)] + internal byte path_empty; + + [FieldOffset(116)] + internal uint path_size; + + [FieldOffset(120)] + internal byte isPartOfExplicitCast; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ImplicitCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ImplicitCastExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public enum OnStack_t + { + OnStack = 0 + } + + internal static new ImplicitCastExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ImplicitCastExpr(native.ToPointer(), skipVTables); + } + + internal static new ImplicitCastExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ImplicitCastExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ImplicitCastExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ImplicitCastExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImplicitCastExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ImplicitCastExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ImplicitCastExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) _0.__Instance); + } + + public bool IsPartOfExplicitCast + { + get + { + return ((__Internal*)__Instance)->isPartOfExplicitCast != 0; + } + + set + { + ((__Internal*)__Instance)->isPartOfExplicitCast = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class ExplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal __IntPtr castKindName; + + [FieldOffset(96)] + internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] + internal __IntPtr conversionFunction; + + [FieldOffset(112)] + internal byte path_empty; + + [FieldOffset(116)] + internal uint path_size; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2ENS1_9StmtClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ExplicitCastExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ExplicitCastExpr(native.ToPointer(), skipVTables); + } + + internal static new ExplicitCastExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ExplicitCastExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ExplicitCastExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ExplicitCastExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExplicitCastExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ExplicitCastExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ExplicitCastExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) _0.__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + { + return new global::CppSharp.Parser.AST.ExplicitCastExpr(klass); + } + + public global::CppSharp.Parser.AST.QualifiedType TypeAsWritten + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->typeAsWritten)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->typeAsWritten = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CStyleCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 144)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal __IntPtr castKindName; + + [FieldOffset(96)] + internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] + internal __IntPtr conversionFunction; + + [FieldOffset(112)] + internal byte path_empty; + + [FieldOffset(116)] + internal uint path_size; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(140)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14CStyleCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14CStyleCastExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CStyleCastExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CStyleCastExpr(native.ToPointer(), skipVTables); + } + + internal static new CStyleCastExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CStyleCastExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CStyleCastExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CStyleCastExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CStyleCastExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CStyleCastExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CStyleCastExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lParenLoc); + } + + set + { + ((__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 144)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(88)] + internal __IntPtr lHS; + + [FieldOffset(96)] + internal __IntPtr rHS; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C OpcodeStr; + + [FieldOffset(128)] + internal byte isPtrMemOp; + + [FieldOffset(129)] + internal byte isMultiplicativeOp; + + [FieldOffset(130)] + internal byte isAdditiveOp; + + [FieldOffset(131)] + internal byte isShiftOp; + + [FieldOffset(132)] + internal byte isBitwiseOp; + + [FieldOffset(133)] + internal byte isRelationalOp; + + [FieldOffset(134)] + internal byte isEqualityOp; + + [FieldOffset(135)] + internal byte isComparisonOp; + + [FieldOffset(136)] + internal byte isLogicalOp; + + [FieldOffset(137)] + internal byte isAssignmentOp; + + [FieldOffset(138)] + internal byte isCompoundAssignmentOp; + + [FieldOffset(139)] + internal byte isShiftAssignOp; + + [FieldOffset(140)] + internal byte isFPContractableWithinStatement; + + [FieldOffset(141)] + internal byte isFEnvAccessOn; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ENS1_9StmtClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperatorC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperator12getOpcodeStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetOpcodeStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperator12setOpcodeStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetOpcodeStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + internal static new BinaryOperator __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new BinaryOperator(native.ToPointer(), skipVTables); + } + + internal static new BinaryOperator __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (BinaryOperator)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static BinaryOperator __CreateInstance(__Internal native, bool skipVTables = false) + { + return new BinaryOperator(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private BinaryOperator(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected BinaryOperator(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public BinaryOperator() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public static implicit operator global::CppSharp.Parser.AST.BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) + { + return new global::CppSharp.Parser.AST.BinaryOperator(klass); + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->operatorLoc); + } + + set + { + ((__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BinaryOperatorKind Opcode + { + get + { + return ((__Internal*)__Instance)->opcode; + } + + set + { + ((__Internal*)__Instance)->opcode = value; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->lHS, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->lHS = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->rHS, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->rHS = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool IsPtrMemOp + { + get + { + return ((__Internal*)__Instance)->isPtrMemOp != 0; + } + + set + { + ((__Internal*)__Instance)->isPtrMemOp = (byte) (value ? 1 : 0); + } + } + + public bool IsMultiplicativeOp + { + get + { + return ((__Internal*)__Instance)->isMultiplicativeOp != 0; + } + + set + { + ((__Internal*)__Instance)->isMultiplicativeOp = (byte) (value ? 1 : 0); + } + } + + public bool IsAdditiveOp + { + get + { + return ((__Internal*)__Instance)->isAdditiveOp != 0; + } + + set + { + ((__Internal*)__Instance)->isAdditiveOp = (byte) (value ? 1 : 0); + } + } + + public bool IsShiftOp + { + get + { + return ((__Internal*)__Instance)->isShiftOp != 0; + } + + set + { + ((__Internal*)__Instance)->isShiftOp = (byte) (value ? 1 : 0); + } + } + + public bool IsBitwiseOp + { + get + { + return ((__Internal*)__Instance)->isBitwiseOp != 0; + } + + set + { + ((__Internal*)__Instance)->isBitwiseOp = (byte) (value ? 1 : 0); + } + } + + public bool IsRelationalOp + { + get + { + return ((__Internal*)__Instance)->isRelationalOp != 0; + } + + set + { + ((__Internal*)__Instance)->isRelationalOp = (byte) (value ? 1 : 0); + } + } + + public bool IsEqualityOp + { + get + { + return ((__Internal*)__Instance)->isEqualityOp != 0; + } + + set + { + ((__Internal*)__Instance)->isEqualityOp = (byte) (value ? 1 : 0); + } + } + + public bool IsComparisonOp + { + get + { + return ((__Internal*)__Instance)->isComparisonOp != 0; + } + + set + { + ((__Internal*)__Instance)->isComparisonOp = (byte) (value ? 1 : 0); + } + } + + public bool IsLogicalOp + { + get + { + return ((__Internal*)__Instance)->isLogicalOp != 0; + } + + set + { + ((__Internal*)__Instance)->isLogicalOp = (byte) (value ? 1 : 0); + } + } + + public bool IsAssignmentOp + { + get + { + return ((__Internal*)__Instance)->isAssignmentOp != 0; + } + + set + { + ((__Internal*)__Instance)->isAssignmentOp = (byte) (value ? 1 : 0); + } + } + + public bool IsCompoundAssignmentOp + { + get + { + return ((__Internal*)__Instance)->isCompoundAssignmentOp != 0; + } + + set + { + ((__Internal*)__Instance)->isCompoundAssignmentOp = (byte) (value ? 1 : 0); + } + } + + public bool IsShiftAssignOp + { + get + { + return ((__Internal*)__Instance)->isShiftAssignOp != 0; + } + + set + { + ((__Internal*)__Instance)->isShiftAssignOp = (byte) (value ? 1 : 0); + } + } + + public bool IsFPContractableWithinStatement + { + get + { + return ((__Internal*)__Instance)->isFPContractableWithinStatement != 0; + } + + set + { + ((__Internal*)__Instance)->isFPContractableWithinStatement = (byte) (value ? 1 : 0); + } + } + + public bool IsFEnvAccessOn + { + get + { + return ((__Internal*)__Instance)->isFEnvAccessOn != 0; + } + + set + { + ((__Internal*)__Instance)->isFEnvAccessOn = (byte) (value ? 1 : 0); + } + } + + public string OpcodeStr + { + get + { + var ___ret = __Internal.GetOpcodeStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetOpcodeStr(__Instance, value); + } + } + } + + public unsafe partial class CompoundAssignOperator : global::CppSharp.Parser.AST.BinaryOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 176)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(88)] + internal __IntPtr lHS; + + [FieldOffset(96)] + internal __IntPtr rHS; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C OpcodeStr; + + [FieldOffset(128)] + internal byte isPtrMemOp; + + [FieldOffset(129)] + internal byte isMultiplicativeOp; + + [FieldOffset(130)] + internal byte isAdditiveOp; + + [FieldOffset(131)] + internal byte isShiftOp; + + [FieldOffset(132)] + internal byte isBitwiseOp; + + [FieldOffset(133)] + internal byte isRelationalOp; + + [FieldOffset(134)] + internal byte isEqualityOp; + + [FieldOffset(135)] + internal byte isComparisonOp; + + [FieldOffset(136)] + internal byte isLogicalOp; + + [FieldOffset(137)] + internal byte isAssignmentOp; + + [FieldOffset(138)] + internal byte isCompoundAssignmentOp; + + [FieldOffset(139)] + internal byte isShiftAssignOp; + + [FieldOffset(140)] + internal byte isFPContractableWithinStatement; + + [FieldOffset(141)] + internal byte isFEnvAccessOn; + + [FieldOffset(144)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationLHSType; + + [FieldOffset(160)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationResultType; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new CompoundAssignOperator __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CompoundAssignOperator(native.ToPointer(), skipVTables); + } + + internal static new CompoundAssignOperator __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CompoundAssignOperator)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CompoundAssignOperator __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CompoundAssignOperator(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CompoundAssignOperator(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CompoundAssignOperator(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CompoundAssignOperator() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.QualifiedType ComputationLHSType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->computationLHSType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->computationLHSType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType ComputationResultType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->computationResultType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->computationResultType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class AbstractConditionalOperator : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr cond; + + [FieldOffset(88)] + internal __IntPtr trueExpr; + + [FieldOffset(96)] + internal __IntPtr falseExpr; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2ENS1_9StmtClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new AbstractConditionalOperator __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new AbstractConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static new AbstractConditionalOperator __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (AbstractConditionalOperator)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static AbstractConditionalOperator __CreateInstance(__Internal native, bool skipVTables = false) + { + return new AbstractConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private AbstractConditionalOperator(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected AbstractConditionalOperator(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public AbstractConditionalOperator() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) _0.__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) + { + return new global::CppSharp.Parser.AST.AbstractConditionalOperator(klass); + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->cond, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->cond = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr TrueExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->trueExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->trueExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr FalseExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->falseExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->falseExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation QuestionLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->questionLoc); + } + + set + { + ((__Internal*)__Instance)->questionLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->colonLoc); + } + + set + { + ((__Internal*)__Instance)->colonLoc = value.__Instance; + } + } + } + + public unsafe partial class ConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr cond; + + [FieldOffset(88)] + internal __IntPtr trueExpr; + + [FieldOffset(96)] + internal __IntPtr falseExpr; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(112)] + internal __IntPtr lHS; + + [FieldOffset(120)] + internal __IntPtr rHS; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ConditionalOperatorC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ConditionalOperator __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static new ConditionalOperator __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ConditionalOperator)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ConditionalOperator __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConditionalOperator(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ConditionalOperator(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ConditionalOperator() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->lHS, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->lHS = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->rHS, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->rHS = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class BinaryConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr cond; + + [FieldOffset(88)] + internal __IntPtr trueExpr; + + [FieldOffset(96)] + internal __IntPtr falseExpr; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(112)] + internal __IntPtr common; + + [FieldOffset(120)] + internal __IntPtr opaqueValue; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25BinaryConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25BinaryConditionalOperatorC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new BinaryConditionalOperator __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new BinaryConditionalOperator(native.ToPointer(), skipVTables); + } + + internal static new BinaryConditionalOperator __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (BinaryConditionalOperator)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static BinaryConditionalOperator __CreateInstance(__Internal native, bool skipVTables = false) + { + return new BinaryConditionalOperator(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private BinaryConditionalOperator(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected BinaryConditionalOperator(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public BinaryConditionalOperator() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Common + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->common, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->common = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr OpaqueValue + { + get + { + var __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__GetOrCreateInstance(((__Internal*)__Instance)->opaqueValue, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->opaqueValue = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AddrLabelExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal ampAmpLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13AddrLabelExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13AddrLabelExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new AddrLabelExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new AddrLabelExpr(native.ToPointer(), skipVTables); + } + + internal static new AddrLabelExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (AddrLabelExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static AddrLabelExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new AddrLabelExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private AddrLabelExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected AddrLabelExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public AddrLabelExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation AmpAmpLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->ampAmpLoc); + } + + set + { + ((__Internal*)__Instance)->ampAmpLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LabelLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->labelLoc); + } + + set + { + ((__Internal*)__Instance)->labelLoc = value.__Instance; + } + } + } + + public unsafe partial class StmtExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr subStmt; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8StmtExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8StmtExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new StmtExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new StmtExpr(native.ToPointer(), skipVTables); + } + + internal static new StmtExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (StmtExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static StmtExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new StmtExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private StmtExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected StmtExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public StmtExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.StmtExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.CompoundStmt SubStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.CompoundStmt.__GetOrCreateInstance(((__Internal*)__Instance)->subStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lParenLoc); + } + + set + { + ((__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ShuffleVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] + internal uint numSubExprs; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ShuffleVectorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ShuffleVectorExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ShuffleVectorExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ShuffleVectorExpr(native.ToPointer(), skipVTables); + } + + internal static new ShuffleVectorExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ShuffleVectorExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ShuffleVectorExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ShuffleVectorExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ShuffleVectorExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ShuffleVectorExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ShuffleVectorExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->builtinLoc); + } + + set + { + ((__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public uint NumSubExprs + { + get + { + return ((__Internal*)__Instance)->numSubExprs; + } + + set + { + ((__Internal*)__Instance)->numSubExprs = value; + } + } + } + + public unsafe partial class ConvertVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr srcExpr; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ConvertVectorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ConvertVectorExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ConvertVectorExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ConvertVectorExpr(native.ToPointer(), skipVTables); + } + + internal static new ConvertVectorExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ConvertVectorExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ConvertVectorExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ConvertVectorExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ConvertVectorExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ConvertVectorExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ConvertVectorExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr SrcExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->srcExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->srcExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->builtinLoc); + } + + set + { + ((__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class ChooseExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(73)] + internal byte isConditionTrue; + + [FieldOffset(80)] + internal __IntPtr cond; + + [FieldOffset(88)] + internal __IntPtr lHS; + + [FieldOffset(96)] + internal __IntPtr rHS; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal byte isConditionDependent; + + [FieldOffset(120)] + internal __IntPtr chosenSubExpr; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ChooseExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ChooseExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ChooseExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ChooseExpr(native.ToPointer(), skipVTables); + } + + internal static new ChooseExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ChooseExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ChooseExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ChooseExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ChooseExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ChooseExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ChooseExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) _0.__Instance); + } + + public bool IsConditionTrue + { + get + { + return ((__Internal*)__Instance)->isConditionTrue != 0; + } + + set + { + ((__Internal*)__Instance)->isConditionTrue = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Cond + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->cond, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->cond = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->lHS, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->lHS = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->rHS, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->rHS = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->builtinLoc); + } + + set + { + ((__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsConditionDependent + { + get + { + return ((__Internal*)__Instance)->isConditionDependent != 0; + } + + set + { + ((__Internal*)__Instance)->isConditionDependent = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr ChosenSubExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->chosenSubExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->chosenSubExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class GNUNullExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal tokenLocation; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11GNUNullExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11GNUNullExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new GNUNullExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new GNUNullExpr(native.ToPointer(), skipVTables); + } + + internal static new GNUNullExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (GNUNullExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static GNUNullExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new GNUNullExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private GNUNullExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected GNUNullExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public GNUNullExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation TokenLocation + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->tokenLocation); + } + + set + { + ((__Internal*)__Instance)->tokenLocation = value.__Instance; + } + } + } + + public unsafe partial class VAArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal byte isMicrosoftABI; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9VAArgExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9VAArgExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new VAArgExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new VAArgExpr(native.ToPointer(), skipVTables); + } + + internal static new VAArgExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (VAArgExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static VAArgExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new VAArgExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private VAArgExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected VAArgExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public VAArgExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->subExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool IsMicrosoftABI + { + get + { + return ((__Internal*)__Instance)->isMicrosoftABI != 0; + } + + set + { + ((__Internal*)__Instance)->isMicrosoftABI = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->builtinLoc); + } + + set + { + ((__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class InitListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr arrayFiller; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBraceLoc; + + [FieldOffset(96)] + internal __IntPtr syntacticForm; + + [FieldOffset(104)] + internal uint numInits; + + [FieldOffset(108)] + internal byte hasArrayFiller; + + [FieldOffset(109)] + internal byte isExplicit; + + [FieldOffset(110)] + internal byte isStringLiteralInit; + + [FieldOffset(111)] + internal byte isTransparent; + + [FieldOffset(112)] + internal byte isSemanticForm; + + [FieldOffset(120)] + internal __IntPtr semanticForm; + + [FieldOffset(128)] + internal byte isSyntacticForm; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12InitListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12InitListExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new InitListExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new InitListExpr(native.ToPointer(), skipVTables); + } + + internal static new InitListExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (InitListExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static InitListExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new InitListExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private InitListExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected InitListExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public InitListExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public InitListExpr(global::CppSharp.Parser.AST.InitListExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InitListExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr ArrayFiller + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->arrayFiller, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->arrayFiller = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lBraceLoc); + } + + set + { + ((__Internal*)__Instance)->lBraceLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBraceLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rBraceLoc); + } + + set + { + ((__Internal*)__Instance)->rBraceLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.InitListExpr SyntacticForm + { + get + { + var __result0 = global::CppSharp.Parser.AST.InitListExpr.__GetOrCreateInstance(((__Internal*)__Instance)->syntacticForm, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->syntacticForm = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint NumInits + { + get + { + return ((__Internal*)__Instance)->numInits; + } + + set + { + ((__Internal*)__Instance)->numInits = value; + } + } + + public bool HasArrayFiller + { + get + { + return ((__Internal*)__Instance)->hasArrayFiller != 0; + } + + set + { + ((__Internal*)__Instance)->hasArrayFiller = (byte) (value ? 1 : 0); + } + } + + public bool IsExplicit + { + get + { + return ((__Internal*)__Instance)->isExplicit != 0; + } + + set + { + ((__Internal*)__Instance)->isExplicit = (byte) (value ? 1 : 0); + } + } + + public bool IsStringLiteralInit + { + get + { + return ((__Internal*)__Instance)->isStringLiteralInit != 0; + } + + set + { + ((__Internal*)__Instance)->isStringLiteralInit = (byte) (value ? 1 : 0); + } + } + + public bool IsTransparent + { + get + { + return ((__Internal*)__Instance)->isTransparent != 0; + } + + set + { + ((__Internal*)__Instance)->isTransparent = (byte) (value ? 1 : 0); + } + } + + public bool IsSemanticForm + { + get + { + return ((__Internal*)__Instance)->isSemanticForm != 0; + } + + set + { + ((__Internal*)__Instance)->isSemanticForm = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.InitListExpr SemanticForm + { + get + { + var __result0 = global::CppSharp.Parser.AST.InitListExpr.__GetOrCreateInstance(((__Internal*)__Instance)->semanticForm, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->semanticForm = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool IsSyntacticForm + { + get + { + return ((__Internal*)__Instance)->isSyntacticForm != 0; + } + + set + { + ((__Internal*)__Instance)->isSyntacticForm = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal equalOrColonLoc; + + [FieldOffset(80)] + internal __IntPtr init; + + [FieldOffset(88)] + internal uint size; + + [FieldOffset(92)] + internal byte usesGNUSyntax; + + [FieldOffset(96)] + internal uint numSubExprs; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceRange.__Internal designatorsSourceRange; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public unsafe partial class Designator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 48)] + public partial struct __Internal + { + [FieldOffset(0)] + internal __IntPtr field; + + [FieldOffset(8)] + internal byte isFieldDesignator; + + [FieldOffset(9)] + internal byte isArrayDesignator; + + [FieldOffset(10)] + internal byte isArrayRangeDesignator; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal dotLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal fieldLoc; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal lBracketLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(28)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(32)] + internal uint firstExprIndex; + + [FieldOffset(36)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr10DesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr10DesignatorC2ERKS3_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.DesignatedInitExpr.Designator managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.DesignatedInitExpr.Designator managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static Designator __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Designator(native.ToPointer(), skipVTables); + } + + internal static Designator __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Designator)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Designator __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Designator(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private Designator(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Designator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public Designator() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Field Field + { + get + { + var __result0 = global::CppSharp.Parser.AST.Field.__GetOrCreateInstance(((__Internal*)__Instance)->field, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->field = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool IsFieldDesignator + { + get + { + return ((__Internal*)__Instance)->isFieldDesignator != 0; + } + + set + { + ((__Internal*)__Instance)->isFieldDesignator = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayDesignator + { + get + { + return ((__Internal*)__Instance)->isArrayDesignator != 0; + } + + set + { + ((__Internal*)__Instance)->isArrayDesignator = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayRangeDesignator + { + get + { + return ((__Internal*)__Instance)->isArrayRangeDesignator != 0; + } + + set + { + ((__Internal*)__Instance)->isArrayRangeDesignator = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation DotLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->dotLoc); + } + + set + { + ((__Internal*)__Instance)->dotLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation FieldLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->fieldLoc); + } + + set + { + ((__Internal*)__Instance)->fieldLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lBracketLoc); + } + + set + { + ((__Internal*)__Instance)->lBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rBracketLoc); + } + + set + { + ((__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->ellipsisLoc); + } + + set + { + ((__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public uint FirstExprIndex + { + get + { + return ((__Internal*)__Instance)->firstExprIndex; + } + + set + { + ((__Internal*)__Instance)->firstExprIndex = value; + } + } + + public global::CppSharp.Parser.SourceRange SourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->sourceRange)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->sourceRange = *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class FieldDesignator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 1)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr15FieldDesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr15FieldDesignatorC2ERKS3_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static FieldDesignator __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new FieldDesignator(native.ToPointer(), skipVTables); + } + + internal static FieldDesignator __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (FieldDesignator)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static FieldDesignator __CreateInstance(__Internal native, bool skipVTables = false) + { + return new FieldDesignator(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private FieldDesignator(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected FieldDesignator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public FieldDesignator() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class ArrayOrRangeDesignator : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 1)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr22ArrayOrRangeDesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr22ArrayOrRangeDesignatorC2ERKS3_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static ArrayOrRangeDesignator __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ArrayOrRangeDesignator(native.ToPointer(), skipVTables); + } + + internal static ArrayOrRangeDesignator __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ArrayOrRangeDesignator)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ArrayOrRangeDesignator __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ArrayOrRangeDesignator(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayOrRangeDesignator(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ArrayOrRangeDesignator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public ArrayOrRangeDesignator() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new DesignatedInitExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new DesignatedInitExpr(native.ToPointer(), skipVTables); + } + + internal static new DesignatedInitExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (DesignatedInitExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static DesignatedInitExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new DesignatedInitExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private DesignatedInitExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected DesignatedInitExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public DesignatedInitExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation EqualOrColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->equalOrColonLoc); + } + + set + { + ((__Internal*)__Instance)->equalOrColonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Init + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->init, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->init = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint Size + { + get + { + return ((__Internal*)__Instance)->size; + } + + set + { + ((__Internal*)__Instance)->size = value; + } + } + + public bool UsesGNUSyntax + { + get + { + return ((__Internal*)__Instance)->usesGNUSyntax != 0; + } + + set + { + ((__Internal*)__Instance)->usesGNUSyntax = (byte) (value ? 1 : 0); + } + } + + public uint NumSubExprs + { + get + { + return ((__Internal*)__Instance)->numSubExprs; + } + + set + { + ((__Internal*)__Instance)->numSubExprs = value; + } + } + + public global::CppSharp.Parser.SourceRange DesignatorsSourceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->designatorsSourceRange)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->designatorsSourceRange = *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class NoInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10NoInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10NoInitExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new NoInitExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new NoInitExpr(native.ToPointer(), skipVTables); + } + + internal static new NoInitExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (NoInitExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static NoInitExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new NoInitExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private NoInitExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected NoInitExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public NoInitExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class DesignatedInitUpdateExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr @base; + + [FieldOffset(88)] + internal __IntPtr updater; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24DesignatedInitUpdateExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24DesignatedInitUpdateExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new DesignatedInitUpdateExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new DesignatedInitUpdateExpr(native.ToPointer(), skipVTables); + } + + internal static new DesignatedInitUpdateExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (DesignatedInitUpdateExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static DesignatedInitUpdateExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new DesignatedInitUpdateExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private DesignatedInitUpdateExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected DesignatedInitUpdateExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public DesignatedInitUpdateExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Base + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->@base, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->@base = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.InitListExpr Updater + { + get + { + var __result0 = global::CppSharp.Parser.AST.InitListExpr.__GetOrCreateInstance(((__Internal*)__Instance)->updater, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->updater = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayInitLoopExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr commonExpr; + + [FieldOffset(88)] + internal __IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ArrayInitLoopExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ArrayInitLoopExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ArrayInitLoopExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ArrayInitLoopExpr(native.ToPointer(), skipVTables); + } + + internal static new ArrayInitLoopExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ArrayInitLoopExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ArrayInitLoopExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ArrayInitLoopExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayInitLoopExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ArrayInitLoopExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ArrayInitLoopExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr CommonExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__GetOrCreateInstance(((__Internal*)__Instance)->commonExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->commonExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->subExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ArrayInitIndexExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArrayInitIndexExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArrayInitIndexExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ArrayInitIndexExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ArrayInitIndexExpr(native.ToPointer(), skipVTables); + } + + internal static new ArrayInitIndexExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ArrayInitIndexExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ArrayInitIndexExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ArrayInitIndexExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayInitIndexExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ArrayInitIndexExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ArrayInitIndexExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class ImplicitValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21ImplicitValueInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21ImplicitValueInitExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ImplicitValueInitExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ImplicitValueInitExpr(native.ToPointer(), skipVTables); + } + + internal static new ImplicitValueInitExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ImplicitValueInitExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ImplicitValueInitExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ImplicitValueInitExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ImplicitValueInitExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ImplicitValueInitExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ImplicitValueInitExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class ParenListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal uint numExprs; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ParenListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ParenListExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ParenListExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ParenListExpr(native.ToPointer(), skipVTables); + } + + internal static new ParenListExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ParenListExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ParenListExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ParenListExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ParenListExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ParenListExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ParenListExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) _0.__Instance); + } + + public uint NumExprs + { + get + { + return ((__Internal*)__Instance)->numExprs; + } + + set + { + ((__Internal*)__Instance)->numExprs = value; + } + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lParenLoc); + } + + set + { + ((__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class GenericSelectionExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal uint numAssocs; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal genericLoc; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(96)] + internal __IntPtr controllingExpr; + + [FieldOffset(104)] + internal byte isResultDependent; + + [FieldOffset(108)] + internal uint resultIndex; + + [FieldOffset(112)] + internal __IntPtr resultExpr; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20GenericSelectionExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20GenericSelectionExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new GenericSelectionExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new GenericSelectionExpr(native.ToPointer(), skipVTables); + } + + internal static new GenericSelectionExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (GenericSelectionExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static GenericSelectionExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new GenericSelectionExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private GenericSelectionExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected GenericSelectionExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public GenericSelectionExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) _0.__Instance); + } + + public uint NumAssocs + { + get + { + return ((__Internal*)__Instance)->numAssocs; + } + + set + { + ((__Internal*)__Instance)->numAssocs = value; + } + } + + public global::CppSharp.Parser.SourceLocation GenericLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->genericLoc); + } + + set + { + ((__Internal*)__Instance)->genericLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->defaultLoc); + } + + set + { + ((__Internal*)__Instance)->defaultLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ControllingExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->controllingExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->controllingExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool IsResultDependent + { + get + { + return ((__Internal*)__Instance)->isResultDependent != 0; + } + + set + { + ((__Internal*)__Instance)->isResultDependent = (byte) (value ? 1 : 0); + } + } + + public uint ResultIndex + { + get + { + return ((__Internal*)__Instance)->resultIndex; + } + + set + { + ((__Internal*)__Instance)->resultIndex = value; + } + } + + public global::CppSharp.Parser.AST.Expr ResultExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->resultExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->resultExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ExtVectorElementExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr @base; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal accessorLoc; + + [FieldOffset(92)] + internal uint numElements; + + [FieldOffset(96)] + internal byte containsDuplicateElements; + + [FieldOffset(97)] + internal byte isArrow; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20ExtVectorElementExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20ExtVectorElementExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ExtVectorElementExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ExtVectorElementExpr(native.ToPointer(), skipVTables); + } + + internal static new ExtVectorElementExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ExtVectorElementExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ExtVectorElementExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ExtVectorElementExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExtVectorElementExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ExtVectorElementExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ExtVectorElementExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Base + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->@base, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->@base = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation AccessorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->accessorLoc); + } + + set + { + ((__Internal*)__Instance)->accessorLoc = value.__Instance; + } + } + + public uint NumElements + { + get + { + return ((__Internal*)__Instance)->numElements; + } + + set + { + ((__Internal*)__Instance)->numElements = value; + } + } + + public bool ContainsDuplicateElements + { + get + { + return ((__Internal*)__Instance)->containsDuplicateElements != 0; + } + + set + { + ((__Internal*)__Instance)->containsDuplicateElements = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((__Internal*)__Instance)->isArrow != 0; + } + + set + { + ((__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class BlockExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal caretLocation; + + [FieldOffset(80)] + internal __IntPtr body; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9BlockExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9BlockExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new BlockExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new BlockExpr(native.ToPointer(), skipVTables); + } + + internal static new BlockExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (BlockExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static BlockExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new BlockExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private BlockExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected BlockExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public BlockExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.BlockExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation CaretLocation + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->caretLocation); + } + + set + { + ((__Internal*)__Instance)->caretLocation = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Stmt Body + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->body, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->body = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class AsTypeExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr srcExpr; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10AsTypeExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10AsTypeExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new AsTypeExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new AsTypeExpr(native.ToPointer(), skipVTables); + } + + internal static new AsTypeExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (AsTypeExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static AsTypeExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new AsTypeExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private AsTypeExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected AsTypeExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public AsTypeExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr SrcExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->srcExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->srcExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->builtinLoc); + } + + set + { + ((__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class PseudoObjectExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr syntacticForm; + + [FieldOffset(88)] + internal uint resultExprIndex; + + [FieldOffset(96)] + internal __IntPtr resultExpr; + + [FieldOffset(104)] + internal uint numSemanticExprs; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16PseudoObjectExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16PseudoObjectExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new PseudoObjectExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new PseudoObjectExpr(native.ToPointer(), skipVTables); + } + + internal static new PseudoObjectExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (PseudoObjectExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static PseudoObjectExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new PseudoObjectExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private PseudoObjectExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected PseudoObjectExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public PseudoObjectExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr SyntacticForm + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->syntacticForm, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->syntacticForm = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint ResultExprIndex + { + get + { + return ((__Internal*)__Instance)->resultExprIndex; + } + + set + { + ((__Internal*)__Instance)->resultExprIndex = value; + } + } + + public global::CppSharp.Parser.AST.Expr ResultExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->resultExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->resultExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint NumSemanticExprs + { + get + { + return ((__Internal*)__Instance)->numSemanticExprs; + } + + set + { + ((__Internal*)__Instance)->numSemanticExprs = value; + } + } + } + + public unsafe partial class AtomicExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 176)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr ptr; + + [FieldOffset(88)] + internal __IntPtr order; + + [FieldOffset(96)] + internal __IntPtr scope; + + [FieldOffset(104)] + internal __IntPtr val1; + + [FieldOffset(112)] + internal __IntPtr orderFail; + + [FieldOffset(120)] + internal __IntPtr val2; + + [FieldOffset(128)] + internal __IntPtr weak; + + [FieldOffset(136)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal valueType; + + [FieldOffset(152)] + internal global::CppSharp.Parser.AST.AtomicExpr.AtomicOp op; + + [FieldOffset(156)] + internal uint numSubExprs; + + [FieldOffset(160)] + internal byte isVolatile; + + [FieldOffset(161)] + internal byte isCmpXChg; + + [FieldOffset(162)] + internal byte isOpenCL; + + [FieldOffset(164)] + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(168)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10AtomicExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10AtomicExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public enum AtomicOp + { + C11AtomicInit = 0, + C11AtomicLoad = 1, + C11AtomicStore = 2, + C11AtomicExchange = 3, + C11AtomicCompareExchangeStrong = 4, + C11AtomicCompareExchangeWeak = 5, + C11AtomicFetchAdd = 6, + C11AtomicFetchSub = 7, + C11AtomicFetchAnd = 8, + C11AtomicFetchOr = 9, + C11AtomicFetchXor = 10, + AtomicLoad = 11, + AtomicLoadN = 12, + AtomicStore = 13, + AtomicStoreN = 14, + AtomicExchange = 15, + AtomicExchangeN = 16, + AtomicCompareExchange = 17, + AtomicCompareExchangeN = 18, + AtomicFetchAdd = 19, + AtomicFetchSub = 20, + AtomicFetchAnd = 21, + AtomicFetchOr = 22, + AtomicFetchXor = 23, + AtomicFetchNand = 24, + AtomicAddFetch = 25, + AtomicSubFetch = 26, + AtomicAndFetch = 27, + AtomicOrFetch = 28, + AtomicXorFetch = 29, + AtomicNandFetch = 30, + OpenclAtomicInit = 31, + OpenclAtomicLoad = 32, + OpenclAtomicStore = 33, + OpenclAtomicExchange = 34, + OpenclAtomicCompareExchangeStrong = 35, + OpenclAtomicCompareExchangeWeak = 36, + OpenclAtomicFetchAdd = 37, + OpenclAtomicFetchSub = 38, + OpenclAtomicFetchAnd = 39, + OpenclAtomicFetchOr = 40, + OpenclAtomicFetchXor = 41, + OpenclAtomicFetchMin = 42, + OpenclAtomicFetchMax = 43, + AtomicFetchMin = 44, + AtomicFetchMax = 45 + } + + internal static new AtomicExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new AtomicExpr(native.ToPointer(), skipVTables); + } + + internal static new AtomicExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (AtomicExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static AtomicExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new AtomicExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private AtomicExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected AtomicExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public AtomicExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Ptr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->ptr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->ptr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Order + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->order, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->order = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Scope + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->scope, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->scope = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Val1 + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->val1, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->val1 = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr OrderFail + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->orderFail, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->orderFail = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Val2 + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->val2, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->val2 = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Weak + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->weak, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->weak = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType ValueType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->valueType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->valueType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.AtomicExpr.AtomicOp Op + { + get + { + return ((__Internal*)__Instance)->op; + } + + set + { + ((__Internal*)__Instance)->op = value; + } + } + + public uint NumSubExprs + { + get + { + return ((__Internal*)__Instance)->numSubExprs; + } + + set + { + ((__Internal*)__Instance)->numSubExprs = value; + } + } + + public bool IsVolatile + { + get + { + return ((__Internal*)__Instance)->isVolatile != 0; + } + + set + { + ((__Internal*)__Instance)->isVolatile = (byte) (value ? 1 : 0); + } + } + + public bool IsCmpXChg + { + get + { + return ((__Internal*)__Instance)->isCmpXChg != 0; + } + + set + { + ((__Internal*)__Instance)->isCmpXChg = (byte) (value ? 1 : 0); + } + } + + public bool IsOpenCL + { + get + { + return ((__Internal*)__Instance)->isOpenCL != 0; + } + + set + { + ((__Internal*)__Instance)->isOpenCL = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation BuiltinLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->builtinLoc); + } + + set + { + ((__Internal*)__Instance)->builtinLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class TypoExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8TypoExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8TypoExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new TypoExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TypoExpr(native.ToPointer(), skipVTables); + } + + internal static new TypoExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TypoExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TypoExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TypoExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypoExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TypoExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TypoExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXOperatorCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 168)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] + internal __IntPtr callee; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] + internal __IntPtr calleeDecl; + + [FieldOffset(128)] + internal __IntPtr directCallee; + + [FieldOffset(136)] + internal uint numArgs; + + [FieldOffset(140)] + internal uint numCommas; + + [FieldOffset(144)] + internal uint builtinCallee; + + [FieldOffset(148)] + internal byte isCallToStdMove; + + [FieldOffset(152)] + internal global::CppSharp.Parser.AST.OverloadedOperatorKind _operator; + + [FieldOffset(156)] + internal byte isAssignmentOp; + + [FieldOffset(157)] + internal byte isInfixBinaryOp; + + [FieldOffset(160)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new CXXOperatorCallExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXOperatorCallExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXOperatorCallExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXOperatorCallExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXOperatorCallExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXOperatorCallExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXOperatorCallExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXOperatorCallExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXOperatorCallExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.OverloadedOperatorKind Operator + { + get + { + return ((__Internal*)__Instance)->_operator; + } + + set + { + ((__Internal*)__Instance)->_operator = value; + } + } + + public bool IsAssignmentOp + { + get + { + return ((__Internal*)__Instance)->isAssignmentOp != 0; + } + + set + { + ((__Internal*)__Instance)->isAssignmentOp = (byte) (value ? 1 : 0); + } + } + + public bool IsInfixBinaryOp + { + get + { + return ((__Internal*)__Instance)->isInfixBinaryOp != 0; + } + + set + { + ((__Internal*)__Instance)->isInfixBinaryOp = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->operatorLoc); + } + + set + { + ((__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXMemberCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 168)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] + internal __IntPtr callee; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] + internal __IntPtr calleeDecl; + + [FieldOffset(128)] + internal __IntPtr directCallee; + + [FieldOffset(136)] + internal uint numArgs; + + [FieldOffset(140)] + internal uint numCommas; + + [FieldOffset(144)] + internal uint builtinCallee; + + [FieldOffset(148)] + internal byte isCallToStdMove; + + [FieldOffset(152)] + internal __IntPtr implicitObjectArgument; + + [FieldOffset(160)] + internal __IntPtr methodDecl; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXMemberCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXMemberCallExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXMemberCallExprD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new CXXMemberCallExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXMemberCallExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXMemberCallExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXMemberCallExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXMemberCallExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXMemberCallExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXMemberCallExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXMemberCallExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXMemberCallExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr ImplicitObjectArgument + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->implicitObjectArgument, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->implicitObjectArgument = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Method MethodDecl + { + get + { + var __result0 = global::CppSharp.Parser.AST.Method.__GetOrCreateInstance(((__Internal*)__Instance)->methodDecl, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->methodDecl = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CUDAKernelCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 160)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] + internal __IntPtr callee; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] + internal __IntPtr calleeDecl; + + [FieldOffset(128)] + internal __IntPtr directCallee; + + [FieldOffset(136)] + internal uint numArgs; + + [FieldOffset(140)] + internal uint numCommas; + + [FieldOffset(144)] + internal uint builtinCallee; + + [FieldOffset(148)] + internal byte isCallToStdMove; + + [FieldOffset(152)] + internal __IntPtr config; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new CUDAKernelCallExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CUDAKernelCallExpr(native.ToPointer(), skipVTables); + } + + internal static new CUDAKernelCallExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CUDAKernelCallExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CUDAKernelCallExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CUDAKernelCallExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CUDAKernelCallExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CUDAKernelCallExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CUDAKernelCallExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.CallExpr Config + { + get + { + var __result0 = global::CppSharp.Parser.AST.CallExpr.__GetOrCreateInstance(((__Internal*)__Instance)->config, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->config = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXNamedCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 160)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal __IntPtr castKindName; + + [FieldOffset(96)] + internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] + internal __IntPtr conversionFunction; + + [FieldOffset(112)] + internal byte path_empty; + + [FieldOffset(116)] + internal uint path_size; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] + internal __IntPtr castName; + + [FieldOffset(144)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2ENS1_9StmtClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + private bool __castName_OwnsNativeMemory = false; + internal static new CXXNamedCastExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXNamedCastExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXNamedCastExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXNamedCastExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXNamedCastExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXNamedCastExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNamedCastExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXNamedCastExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXNamedCastExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) _0.__Instance); + if (_0.__castName_OwnsNativeMemory) + this.CastName = _0.CastName; + } + + public static implicit operator global::CppSharp.Parser.AST.CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + { + return new global::CppSharp.Parser.AST.CXXNamedCastExpr(klass); + } + + public string CastName + { + get + { + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ((__Internal*)__Instance)->castName); + } + + set + { + if (__castName_OwnsNativeMemory) + Marshal.FreeHGlobal(((__Internal*)__Instance)->castName); + __castName_OwnsNativeMemory = true; + if (value == null) + { + ((__Internal*)__Instance)->castName = global::System.IntPtr.Zero; + return; + } + var __bytes0 = global::System.Text.Encoding.UTF8.GetBytes(value); + var __bytePtr0 = Marshal.AllocHGlobal(__bytes0.Length + 1); + Marshal.Copy(__bytes0, 0, __bytePtr0, __bytes0.Length); + Marshal.WriteByte(__bytePtr0 + __bytes0.Length, 0); + ((__Internal*)__Instance)->castName = (__IntPtr) __bytePtr0; + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->operatorLoc); + } + + set + { + ((__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceRange AngleBrackets + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->angleBrackets)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->angleBrackets = *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CXXStaticCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 160)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal __IntPtr castKindName; + + [FieldOffset(96)] + internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] + internal __IntPtr conversionFunction; + + [FieldOffset(112)] + internal byte path_empty; + + [FieldOffset(116)] + internal uint path_size; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] + internal __IntPtr castName; + + [FieldOffset(144)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXStaticCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXStaticCastExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXStaticCastExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXStaticCastExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXStaticCastExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXStaticCastExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXStaticCastExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXStaticCastExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXStaticCastExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXStaticCastExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXStaticCastExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXDynamicCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 168)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal __IntPtr castKindName; + + [FieldOffset(96)] + internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] + internal __IntPtr conversionFunction; + + [FieldOffset(112)] + internal byte path_empty; + + [FieldOffset(116)] + internal uint path_size; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] + internal __IntPtr castName; + + [FieldOffset(144)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [FieldOffset(160)] + internal byte isAlwaysNull; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXDynamicCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXDynamicCastExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXDynamicCastExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXDynamicCastExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXDynamicCastExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXDynamicCastExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXDynamicCastExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXDynamicCastExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDynamicCastExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXDynamicCastExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXDynamicCastExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) _0.__Instance); + } + + public bool IsAlwaysNull + { + get + { + return ((__Internal*)__Instance)->isAlwaysNull != 0; + } + + set + { + ((__Internal*)__Instance)->isAlwaysNull = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXReinterpretCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 160)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal __IntPtr castKindName; + + [FieldOffset(96)] + internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] + internal __IntPtr conversionFunction; + + [FieldOffset(112)] + internal byte path_empty; + + [FieldOffset(116)] + internal uint path_size; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] + internal __IntPtr castName; + + [FieldOffset(144)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXReinterpretCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXReinterpretCastExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXReinterpretCastExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXReinterpretCastExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXReinterpretCastExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXReinterpretCastExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXReinterpretCastExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXReinterpretCastExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXReinterpretCastExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXReinterpretCastExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXReinterpretCastExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class CXXConstCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 160)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal __IntPtr castKindName; + + [FieldOffset(96)] + internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] + internal __IntPtr conversionFunction; + + [FieldOffset(112)] + internal byte path_empty; + + [FieldOffset(116)] + internal uint path_size; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] + internal __IntPtr castName; + + [FieldOffset(144)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstCastExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXConstCastExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXConstCastExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXConstCastExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXConstCastExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXConstCastExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXConstCastExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXConstCastExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXConstCastExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXConstCastExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) _0.__Instance); + } + } + + public unsafe partial class UserDefinedLiteral : global::CppSharp.Parser.AST.CallExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 176)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] + internal __IntPtr callee; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] + internal __IntPtr calleeDecl; + + [FieldOffset(128)] + internal __IntPtr directCallee; + + [FieldOffset(136)] + internal uint numArgs; + + [FieldOffset(140)] + internal uint numCommas; + + [FieldOffset(144)] + internal uint builtinCallee; + + [FieldOffset(148)] + internal byte isCallToStdMove; + + [FieldOffset(152)] + internal global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind; + + [FieldOffset(160)] + internal __IntPtr cookedLiteral; + + [FieldOffset(168)] + internal global::CppSharp.Parser.SourceLocation.__Internal uDSuffixLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18UserDefinedLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18UserDefinedLiteralC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18UserDefinedLiteralD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + public enum LiteralOperatorKind + { + Raw = 0, + Template = 1, + Integer = 2, + Floating = 3, + String = 4, + Character = 5 + } + + internal static new UserDefinedLiteral __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new UserDefinedLiteral(native.ToPointer(), skipVTables); + } + + internal static new UserDefinedLiteral __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (UserDefinedLiteral)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static UserDefinedLiteral __CreateInstance(__Internal native, bool skipVTables = false) + { + return new UserDefinedLiteral(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private UserDefinedLiteral(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected UserDefinedLiteral(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public UserDefinedLiteral() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind + { + get + { + return ((__Internal*)__Instance)->literalOperatorKind; + } + + set + { + ((__Internal*)__Instance)->literalOperatorKind = value; + } + } + + public global::CppSharp.Parser.AST.Expr CookedLiteral + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->cookedLiteral, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->cookedLiteral = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation UDSuffixLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->uDSuffixLoc); + } + + set + { + ((__Internal*)__Instance)->uDSuffixLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXBoolLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(73)] + internal byte value; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXBoolLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXBoolLiteralExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXBoolLiteralExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXBoolLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXBoolLiteralExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXBoolLiteralExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXBoolLiteralExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXBoolLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXBoolLiteralExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXBoolLiteralExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXBoolLiteralExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) _0.__Instance); + } + + public bool Value + { + get + { + return ((__Internal*)__Instance)->value != 0; + } + + set + { + ((__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->location); + } + + set + { + ((__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXNullPtrLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21CXXNullPtrLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21CXXNullPtrLiteralExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXNullPtrLiteralExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXNullPtrLiteralExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXNullPtrLiteralExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXNullPtrLiteralExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXNullPtrLiteralExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXNullPtrLiteralExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNullPtrLiteralExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXNullPtrLiteralExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXNullPtrLiteralExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->location); + } + + set + { + ((__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXStdInitializerListExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25CXXStdInitializerListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25CXXStdInitializerListExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXStdInitializerListExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXStdInitializerListExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXStdInitializerListExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXStdInitializerListExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXStdInitializerListExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXStdInitializerListExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXStdInitializerListExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXStdInitializerListExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXStdInitializerListExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->subExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXTypeidExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr exprOperand; + + [FieldOffset(88)] + internal byte isPotentiallyEvaluated; + + [FieldOffset(89)] + internal byte isTypeOperand; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXTypeidExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXTypeidExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXTypeidExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXTypeidExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXTypeidExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXTypeidExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXTypeidExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXTypeidExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXTypeidExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXTypeidExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXTypeidExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr ExprOperand + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->exprOperand, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->exprOperand = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool IsPotentiallyEvaluated + { + get + { + return ((__Internal*)__Instance)->isPotentiallyEvaluated != 0; + } + + set + { + ((__Internal*)__Instance)->isPotentiallyEvaluated = (byte) (value ? 1 : 0); + } + } + + public bool IsTypeOperand + { + get + { + return ((__Internal*)__Instance)->isTypeOperand != 0; + } + + set + { + ((__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class MSPropertyRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(73)] + internal byte isImplicitAccess; + + [FieldOffset(80)] + internal __IntPtr baseExpr; + + [FieldOffset(88)] + internal byte isArrow; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17MSPropertyRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17MSPropertyRefExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new MSPropertyRefExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new MSPropertyRefExpr(native.ToPointer(), skipVTables); + } + + internal static new MSPropertyRefExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (MSPropertyRefExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static MSPropertyRefExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new MSPropertyRefExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSPropertyRefExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected MSPropertyRefExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public MSPropertyRefExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((__Internal*)__Instance)->isImplicitAccess != 0; + } + + set + { + ((__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr BaseExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->baseExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->baseExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool IsArrow + { + get + { + return ((__Internal*)__Instance)->isArrow != 0; + } + + set + { + ((__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->memberLoc); + } + + set + { + ((__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + } + + public unsafe partial class MSPropertySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(80)] + internal __IntPtr @base; + + [FieldOffset(88)] + internal __IntPtr idx; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23MSPropertySubscriptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23MSPropertySubscriptExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new MSPropertySubscriptExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new MSPropertySubscriptExpr(native.ToPointer(), skipVTables); + } + + internal static new MSPropertySubscriptExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (MSPropertySubscriptExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static MSPropertySubscriptExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new MSPropertySubscriptExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private MSPropertySubscriptExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected MSPropertySubscriptExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public MSPropertySubscriptExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation RBracketLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rBracketLoc); + } + + set + { + ((__Internal*)__Instance)->rBracketLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Base + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->@base, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->@base = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Idx + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->idx, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->idx = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr exprOperand; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C UuidStr; + + [FieldOffset(112)] + internal byte isTypeOperand; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExprD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExpr10getUuidStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetUuidStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExpr10setUuidStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetUuidStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + internal static new CXXUuidofExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXUuidofExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXUuidofExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXUuidofExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXUuidofExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXUuidofExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXUuidofExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXUuidofExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXUuidofExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr ExprOperand + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->exprOperand, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->exprOperand = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool IsTypeOperand + { + get + { + return ((__Internal*)__Instance)->isTypeOperand != 0; + } + + set + { + ((__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + + public string UuidStr + { + get + { + var ___ret = __Internal.GetUuidStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetUuidStr(__Instance, value); + } + } + } + + public unsafe partial class CXXThisExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] + internal byte @implicit; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CXXThisExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CXXThisExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXThisExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXThisExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXThisExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXThisExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXThisExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXThisExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXThisExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXThisExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXThisExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->location); + } + + set + { + ((__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool Implicit + { + get + { + return ((__Internal*)__Instance)->@implicit != 0; + } + + set + { + ((__Internal*)__Instance)->@implicit = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXThrowExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal throwLoc; + + [FieldOffset(92)] + internal byte isThrownVariableInScope; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CXXThrowExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CXXThrowExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXThrowExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXThrowExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXThrowExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXThrowExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXThrowExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXThrowExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXThrowExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXThrowExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXThrowExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->subExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ThrowLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->throwLoc); + } + + set + { + ((__Internal*)__Instance)->throwLoc = value.__Instance; + } + } + + public bool IsThrownVariableInScope + { + get + { + return ((__Internal*)__Instance)->isThrownVariableInScope != 0; + } + + set + { + ((__Internal*)__Instance)->isThrownVariableInScope = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXDefaultArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr expr; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal usedLocation; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXDefaultArgExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXDefaultArgExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXDefaultArgExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXDefaultArgExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXDefaultArgExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXDefaultArgExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXDefaultArgExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXDefaultArgExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDefaultArgExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXDefaultArgExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXDefaultArgExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Expr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->expr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->expr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation UsedLocation + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->usedLocation); + } + + set + { + ((__Internal*)__Instance)->usedLocation = value.__Instance; + } + } + } + + public unsafe partial class CXXDefaultInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr field; + + [FieldOffset(88)] + internal __IntPtr expr; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXDefaultInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXDefaultInitExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXDefaultInitExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXDefaultInitExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXDefaultInitExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXDefaultInitExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXDefaultInitExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXDefaultInitExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDefaultInitExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXDefaultInitExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXDefaultInitExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Field Field + { + get + { + var __result0 = global::CppSharp.Parser.AST.Field.__GetOrCreateInstance(((__Internal*)__Instance)->field, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->field = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Expr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->expr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->expr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXBindTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20CXXBindTemporaryExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20CXXBindTemporaryExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXBindTemporaryExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXBindTemporaryExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXBindTemporaryExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXBindTemporaryExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXBindTemporaryExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXBindTemporaryExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXBindTemporaryExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXBindTemporaryExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXBindTemporaryExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr SubExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->subExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->subExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(108)] + internal byte elidable; + + [FieldOffset(109)] + internal byte hadMultipleCandidates; + + [FieldOffset(110)] + internal byte listInitialization; + + [FieldOffset(111)] + internal byte stdInitListInitialization; + + [FieldOffset(112)] + internal byte requiresZeroInitialization; + + [FieldOffset(116)] + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(124)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstructExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ENS1_9StmtClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstructExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstructExprD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstructExpr12getargumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Getarguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstructExpr12addargumentsERPNS1_4ExprE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void Addarguments(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstructExpr14clearargumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void Cleararguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstructExpr17getargumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetargumentsCount(__IntPtr __instance); + } + + public enum ConstructionKind + { + Complete = 0, + NonVirtualBase = 1, + VirtualBase = 2, + Delegating = 3 + } + + internal static new CXXConstructExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXConstructExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXConstructExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXConstructExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXConstructExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXConstructExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXConstructExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXConstructExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var ___ret = __Internal.Getarguments(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void Addarguments(global::CppSharp.Parser.AST.Expr s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.Addarguments(__Instance, __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments(__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) + { + return new global::CppSharp.Parser.AST.CXXConstructExpr(klass); + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->location); + } + + set + { + ((__Internal*)__Instance)->location = value.__Instance; + } + } + + public bool Elidable + { + get + { + return ((__Internal*)__Instance)->elidable != 0; + } + + set + { + ((__Internal*)__Instance)->elidable = (byte) (value ? 1 : 0); + } + } + + public bool HadMultipleCandidates + { + get + { + return ((__Internal*)__Instance)->hadMultipleCandidates != 0; + } + + set + { + ((__Internal*)__Instance)->hadMultipleCandidates = (byte) (value ? 1 : 0); + } + } + + public bool ListInitialization + { + get + { + return ((__Internal*)__Instance)->listInitialization != 0; + } + + set + { + ((__Internal*)__Instance)->listInitialization = (byte) (value ? 1 : 0); + } + } + + public bool StdInitListInitialization + { + get + { + return ((__Internal*)__Instance)->stdInitListInitialization != 0; + } + + set + { + ((__Internal*)__Instance)->stdInitListInitialization = (byte) (value ? 1 : 0); + } + } + + public bool RequiresZeroInitialization + { + get + { + return ((__Internal*)__Instance)->requiresZeroInitialization != 0; + } + + set + { + ((__Internal*)__Instance)->requiresZeroInitialization = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceRange ParenOrBraceRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->parenOrBraceRange)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->parenOrBraceRange = *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public uint NumArgs + { + get + { + return ((__Internal*)__Instance)->numArgs; + } + + set + { + ((__Internal*)__Instance)->numArgs = value; + } + } + + public uint GetargumentsCount + { + get + { + var ___ret = __Internal.GetargumentsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class CXXInheritedCtorInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(73)] + internal byte constructsVBase; + + [FieldOffset(74)] + internal byte inheritedFromVBase; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXInheritedCtorInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXInheritedCtorInitExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXInheritedCtorInitExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXInheritedCtorInitExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXInheritedCtorInitExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXInheritedCtorInitExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXInheritedCtorInitExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXInheritedCtorInitExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXInheritedCtorInitExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXInheritedCtorInitExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXInheritedCtorInitExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) _0.__Instance); + } + + public bool ConstructsVBase + { + get + { + return ((__Internal*)__Instance)->constructsVBase != 0; + } + + set + { + ((__Internal*)__Instance)->constructsVBase = (byte) (value ? 1 : 0); + } + } + + public bool InheritedFromVBase + { + get + { + return ((__Internal*)__Instance)->inheritedFromVBase != 0; + } + + set + { + ((__Internal*)__Instance)->inheritedFromVBase = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->location); + } + + set + { + ((__Internal*)__Instance)->location = value.__Instance; + } + } + } + + public unsafe partial class CXXFunctionalCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 152)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal __IntPtr castKindName; + + [FieldOffset(96)] + internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] + internal __IntPtr conversionFunction; + + [FieldOffset(112)] + internal byte path_empty; + + [FieldOffset(116)] + internal uint path_size; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(140)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(144)] + internal byte isListInitialization; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21CXXFunctionalCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21CXXFunctionalCastExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXFunctionalCastExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXFunctionalCastExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXFunctionalCastExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXFunctionalCastExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXFunctionalCastExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXFunctionalCastExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXFunctionalCastExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXFunctionalCastExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXFunctionalCastExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lParenLoc); + } + + set + { + ((__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public bool IsListInitialization + { + get + { + return ((__Internal*)__Instance)->isListInitialization != 0; + } + + set + { + ((__Internal*)__Instance)->isListInitialization = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXTemporaryObjectExpr : global::CppSharp.Parser.AST.CXXConstructExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(108)] + internal byte elidable; + + [FieldOffset(109)] + internal byte hadMultipleCandidates; + + [FieldOffset(110)] + internal byte listInitialization; + + [FieldOffset(111)] + internal byte stdInitListInitialization; + + [FieldOffset(112)] + internal byte requiresZeroInitialization; + + [FieldOffset(116)] + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(124)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + } + + internal static new CXXTemporaryObjectExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXTemporaryObjectExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXTemporaryObjectExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXTemporaryObjectExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXTemporaryObjectExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXTemporaryObjectExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXTemporaryObjectExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXTemporaryObjectExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXTemporaryObjectExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class LambdaExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 152)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ capture_inits; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal captureDefaultLoc; + + [FieldOffset(108)] + internal uint capture_size; + + [FieldOffset(112)] + internal global::CppSharp.Parser.SourceRange.__Internal introducerRange; + + [FieldOffset(120)] + internal __IntPtr callOperator; + + [FieldOffset(128)] + internal byte isGenericLambda; + + [FieldOffset(136)] + internal __IntPtr body; + + [FieldOffset(144)] + internal byte isMutable; + + [FieldOffset(145)] + internal byte hasExplicitParameters; + + [FieldOffset(146)] + internal byte hasExplicitResultType; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LambdaExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LambdaExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LambdaExprD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LambdaExpr16getcapture_initsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetcaptureInits(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LambdaExpr16addcapture_initsERPNS1_4ExprE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddcaptureInits(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LambdaExpr18clearcapture_initsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearcaptureInits(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LambdaExpr21getcapture_initsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetcaptureInitsCount(__IntPtr __instance); + } + + internal static new LambdaExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new LambdaExpr(native.ToPointer(), skipVTables); + } + + internal static new LambdaExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (LambdaExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static LambdaExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new LambdaExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.LambdaExpr.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private LambdaExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected LambdaExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public LambdaExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetcaptureInits(uint i) + { + var ___ret = __Internal.GetcaptureInits(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddcaptureInits(global::CppSharp.Parser.AST.Expr s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddcaptureInits(__Instance, __arg0); + } + + public void ClearcaptureInits() + { + __Internal.ClearcaptureInits(__Instance); + } + + public global::CppSharp.Parser.SourceLocation CaptureDefaultLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->captureDefaultLoc); + } + + set + { + ((__Internal*)__Instance)->captureDefaultLoc = value.__Instance; + } + } + + public uint CaptureSize + { + get + { + return ((__Internal*)__Instance)->capture_size; + } + + set + { + ((__Internal*)__Instance)->capture_size = value; + } + } + + public global::CppSharp.Parser.SourceRange IntroducerRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->introducerRange)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->introducerRange = *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Method CallOperator + { + get + { + var __result0 = global::CppSharp.Parser.AST.Method.__GetOrCreateInstance(((__Internal*)__Instance)->callOperator, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->callOperator = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool IsGenericLambda + { + get + { + return ((__Internal*)__Instance)->isGenericLambda != 0; + } + + set + { + ((__Internal*)__Instance)->isGenericLambda = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CompoundStmt Body + { + get + { + var __result0 = global::CppSharp.Parser.AST.CompoundStmt.__GetOrCreateInstance(((__Internal*)__Instance)->body, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->body = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool IsMutable + { + get + { + return ((__Internal*)__Instance)->isMutable != 0; + } + + set + { + ((__Internal*)__Instance)->isMutable = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitParameters + { + get + { + return ((__Internal*)__Instance)->hasExplicitParameters != 0; + } + + set + { + ((__Internal*)__Instance)->hasExplicitParameters = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitResultType + { + get + { + return ((__Internal*)__Instance)->hasExplicitResultType != 0; + } + + set + { + ((__Internal*)__Instance)->hasExplicitResultType = (byte) (value ? 1 : 0); + } + } + + public uint GetcaptureInitsCount + { + get + { + var ___ret = __Internal.GetcaptureInitsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class CXXScalarValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXScalarValueInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXScalarValueInitExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXScalarValueInitExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXScalarValueInitExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXScalarValueInitExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXScalarValueInitExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXScalarValueInitExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXScalarValueInitExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXScalarValueInitExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXScalarValueInitExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXScalarValueInitExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXNewExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 200)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ placement_arguments; + + [FieldOffset(104)] + internal __IntPtr operatorNew; + + [FieldOffset(112)] + internal __IntPtr operatorDelete; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal allocatedType; + + [FieldOffset(136)] + internal byte isArray; + + [FieldOffset(144)] + internal __IntPtr arraySize; + + [FieldOffset(152)] + internal uint numPlacementArgs; + + [FieldOffset(156)] + internal byte isParenTypeId; + + [FieldOffset(160)] + internal global::CppSharp.Parser.SourceRange.__Internal typeIdParens; + + [FieldOffset(168)] + internal byte isGlobalNew; + + [FieldOffset(169)] + internal byte hasInitializer; + + [FieldOffset(172)] + internal global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle; + + [FieldOffset(176)] + internal __IntPtr initializer; + + [FieldOffset(184)] + internal __IntPtr constructExpr; + + [FieldOffset(192)] + internal global::CppSharp.Parser.SourceRange.__Internal directInitRange; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXNewExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXNewExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXNewExprD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXNewExpr22getplacement_argumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetplacementArguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXNewExpr22addplacement_argumentsERPNS1_4ExprE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddplacementArguments(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXNewExpr24clearplacement_argumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearplacementArguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXNewExpr27getplacement_argumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetplacementArgumentsCount(__IntPtr __instance); + } + + public enum InitializationStyle + { + NoInit = 0, + CallInit = 1, + ListInit = 2 + } + + internal static new CXXNewExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXNewExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXNewExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXNewExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXNewExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXNewExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.CXXNewExpr.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXNewExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXNewExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXNewExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr GetplacementArguments(uint i) + { + var ___ret = __Internal.GetplacementArguments(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddplacementArguments(global::CppSharp.Parser.AST.Expr s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddplacementArguments(__Instance, __arg0); + } + + public void ClearplacementArguments() + { + __Internal.ClearplacementArguments(__Instance); + } + + public global::CppSharp.Parser.AST.Function OperatorNew + { + get + { + var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(((__Internal*)__Instance)->operatorNew, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->operatorNew = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function OperatorDelete + { + get + { + var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(((__Internal*)__Instance)->operatorDelete, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->operatorDelete = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType AllocatedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->allocatedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->allocatedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsArray + { + get + { + return ((__Internal*)__Instance)->isArray != 0; + } + + set + { + ((__Internal*)__Instance)->isArray = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr ArraySize + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->arraySize, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->arraySize = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint NumPlacementArgs + { + get + { + return ((__Internal*)__Instance)->numPlacementArgs; + } + + set + { + ((__Internal*)__Instance)->numPlacementArgs = value; + } + } + + public bool IsParenTypeId + { + get + { + return ((__Internal*)__Instance)->isParenTypeId != 0; + } + + set + { + ((__Internal*)__Instance)->isParenTypeId = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceRange TypeIdParens + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->typeIdParens)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->typeIdParens = *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public bool IsGlobalNew + { + get + { + return ((__Internal*)__Instance)->isGlobalNew != 0; + } + + set + { + ((__Internal*)__Instance)->isGlobalNew = (byte) (value ? 1 : 0); + } + } + + public bool HasInitializer + { + get + { + return ((__Internal*)__Instance)->hasInitializer != 0; + } + + set + { + ((__Internal*)__Instance)->hasInitializer = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle + { + get + { + return ((__Internal*)__Instance)->initializationStyle; + } + + set + { + ((__Internal*)__Instance)->initializationStyle = value; + } + } + + public global::CppSharp.Parser.AST.Expr Initializer + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->initializer, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->initializer = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CXXConstructExpr ConstructExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.CXXConstructExpr.__GetOrCreateInstance(((__Internal*)__Instance)->constructExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->constructExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceRange DirectInitRange + { + get + { + return global::CppSharp.Parser.SourceRange.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->directInitRange)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->directInitRange = *(global::CppSharp.Parser.SourceRange.__Internal*) value.__Instance; + } + } + + public uint GetplacementArgumentsCount + { + get + { + var ___ret = __Internal.GetplacementArgumentsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class CXXDeleteExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(73)] + internal byte isGlobalDelete; + + [FieldOffset(74)] + internal byte isArrayForm; + + [FieldOffset(75)] + internal byte isArrayFormAsWritten; + + [FieldOffset(80)] + internal __IntPtr operatorDelete; + + [FieldOffset(88)] + internal __IntPtr argument; + + [FieldOffset(96)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXDeleteExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXDeleteExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXDeleteExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXDeleteExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXDeleteExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXDeleteExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXDeleteExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXDeleteExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDeleteExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXDeleteExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXDeleteExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) _0.__Instance); + } + + public bool IsGlobalDelete + { + get + { + return ((__Internal*)__Instance)->isGlobalDelete != 0; + } + + set + { + ((__Internal*)__Instance)->isGlobalDelete = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayForm + { + get + { + return ((__Internal*)__Instance)->isArrayForm != 0; + } + + set + { + ((__Internal*)__Instance)->isArrayForm = (byte) (value ? 1 : 0); + } + } + + public bool IsArrayFormAsWritten + { + get + { + return ((__Internal*)__Instance)->isArrayFormAsWritten != 0; + } + + set + { + ((__Internal*)__Instance)->isArrayFormAsWritten = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Function OperatorDelete + { + get + { + var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(((__Internal*)__Instance)->operatorDelete, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->operatorDelete = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Argument + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->argument, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->argument = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType DestroyedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->destroyedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->destroyedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class CXXPseudoDestructorExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr @base; + + [FieldOffset(88)] + internal byte hasQualifier; + + [FieldOffset(89)] + internal byte isArrow; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal colonColonLoc; + + [FieldOffset(100)] + internal global::CppSharp.Parser.SourceLocation.__Internal tildeLoc; + + [FieldOffset(104)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [FieldOffset(120)] + internal global::CppSharp.Parser.SourceLocation.__Internal destroyedTypeLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23CXXPseudoDestructorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23CXXPseudoDestructorExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXPseudoDestructorExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXPseudoDestructorExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXPseudoDestructorExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXPseudoDestructorExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXPseudoDestructorExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXPseudoDestructorExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXPseudoDestructorExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXPseudoDestructorExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXPseudoDestructorExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Base + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->@base, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->@base = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool HasQualifier + { + get + { + return ((__Internal*)__Instance)->hasQualifier != 0; + } + + set + { + ((__Internal*)__Instance)->hasQualifier = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((__Internal*)__Instance)->isArrow != 0; + } + + set + { + ((__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->operatorLoc); + } + + set + { + ((__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation ColonColonLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->colonColonLoc); + } + + set + { + ((__Internal*)__Instance)->colonColonLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TildeLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->tildeLoc); + } + + set + { + ((__Internal*)__Instance)->tildeLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType DestroyedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->destroyedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->destroyedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation DestroyedTypeLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->destroyedTypeLoc); + } + + set + { + ((__Internal*)__Instance)->destroyedTypeLoc = value.__Instance; + } + } + } + + public unsafe partial class TypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 80)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(73)] + internal byte value; + + [FieldOffset(76)] + internal uint numArgs; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13TypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13TypeTraitExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new TypeTraitExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new TypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static new TypeTraitExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (TypeTraitExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static TypeTraitExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new TypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private TypeTraitExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected TypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public TypeTraitExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) _0.__Instance); + } + + public bool Value + { + get + { + return ((__Internal*)__Instance)->value != 0; + } + + set + { + ((__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + + public uint NumArgs + { + get + { + return ((__Internal*)__Instance)->numArgs; + } + + set + { + ((__Internal*)__Instance)->numArgs = value; + } + } + } + + public unsafe partial class ArrayTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal queriedType; + + [FieldOffset(96)] + internal ulong value; + + [FieldOffset(104)] + internal __IntPtr dimensionExpression; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArrayTypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArrayTypeTraitExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ArrayTypeTraitExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ArrayTypeTraitExpr(native.ToPointer(), skipVTables); + } + + internal static new ArrayTypeTraitExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ArrayTypeTraitExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ArrayTypeTraitExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ArrayTypeTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ArrayTypeTraitExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ArrayTypeTraitExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ArrayTypeTraitExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.QualifiedType QueriedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->queriedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->queriedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public ulong Value + { + get + { + return ((__Internal*)__Instance)->value; + } + + set + { + ((__Internal*)__Instance)->value = value; + } + } + + public global::CppSharp.Parser.AST.Expr DimensionExpression + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->dimensionExpression, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->dimensionExpression = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class ExpressionTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr queriedExpression; + + [FieldOffset(88)] + internal byte value; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ExpressionTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ExpressionTraitExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ExpressionTraitExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ExpressionTraitExpr(native.ToPointer(), skipVTables); + } + + internal static new ExpressionTraitExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ExpressionTraitExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ExpressionTraitExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ExpressionTraitExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExpressionTraitExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ExpressionTraitExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ExpressionTraitExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr QueriedExpression + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->queriedExpression, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->queriedExpression = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool Value + { + get + { + return ((__Internal*)__Instance)->value != 0; + } + + set + { + ((__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal uint numDecls; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(96)] + internal byte hasTemplateKeyword; + + [FieldOffset(97)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(100)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OverloadExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OverloadExprC2ENS1_9StmtClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OverloadExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public unsafe partial class FindResult : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 1)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OverloadExpr10FindResultC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OverloadExpr10FindResultC2ERKS3_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.OverloadExpr.FindResult managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.OverloadExpr.FindResult managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static FindResult __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new FindResult(native.ToPointer(), skipVTables); + } + + internal static FindResult __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (FindResult)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static FindResult __CreateInstance(__Internal native, bool skipVTables = false) + { + return new FindResult(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private FindResult(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected FindResult(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public FindResult() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new OverloadExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new OverloadExpr(native.ToPointer(), skipVTables); + } + + internal static new OverloadExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (OverloadExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static OverloadExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new OverloadExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private OverloadExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected OverloadExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public OverloadExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) _0.__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) + { + return new global::CppSharp.Parser.AST.OverloadExpr(klass); + } + + public uint NumDecls + { + get + { + return ((__Internal*)__Instance)->numDecls; + } + + set + { + ((__Internal*)__Instance)->numDecls = value; + } + } + + public global::CppSharp.Parser.SourceLocation NameLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->nameLoc); + } + + set + { + ((__Internal*)__Instance)->nameLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->templateKeywordLoc); + } + + set + { + ((__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lAngleLoc); + } + + set + { + ((__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rAngleLoc); + } + + set + { + ((__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((__Internal*)__Instance)->hasTemplateKeyword != 0; + } + + set + { + ((__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((__Internal*)__Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((__Internal*)__Instance)->numTemplateArgs; + } + + set + { + ((__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class UnresolvedLookupExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 112)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal uint numDecls; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(96)] + internal byte hasTemplateKeyword; + + [FieldOffset(97)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(100)] + internal uint numTemplateArgs; + + [FieldOffset(104)] + internal byte requiresADL; + + [FieldOffset(105)] + internal byte isOverloaded; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20UnresolvedLookupExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20UnresolvedLookupExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new UnresolvedLookupExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new UnresolvedLookupExpr(native.ToPointer(), skipVTables); + } + + internal static new UnresolvedLookupExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (UnresolvedLookupExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static UnresolvedLookupExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new UnresolvedLookupExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnresolvedLookupExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected UnresolvedLookupExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public UnresolvedLookupExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) _0.__Instance); + } + + public bool RequiresADL + { + get + { + return ((__Internal*)__Instance)->requiresADL != 0; + } + + set + { + ((__Internal*)__Instance)->requiresADL = (byte) (value ? 1 : 0); + } + } + + public bool IsOverloaded + { + get + { + return ((__Internal*)__Instance)->isOverloaded != 0; + } + + set + { + ((__Internal*)__Instance)->isOverloaded = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class DependentScopeDeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(92)] + internal byte hasTemplateKeyword; + + [FieldOffset(93)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(96)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25DependentScopeDeclRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25DependentScopeDeclRefExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new DependentScopeDeclRefExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new DependentScopeDeclRefExpr(native.ToPointer(), skipVTables); + } + + internal static new DependentScopeDeclRefExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (DependentScopeDeclRefExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static DependentScopeDeclRefExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new DependentScopeDeclRefExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private DependentScopeDeclRefExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected DependentScopeDeclRefExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public DependentScopeDeclRefExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation Location + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->location); + } + + set + { + ((__Internal*)__Instance)->location = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->templateKeywordLoc); + } + + set + { + ((__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lAngleLoc); + } + + set + { + ((__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rAngleLoc); + } + + set + { + ((__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((__Internal*)__Instance)->hasTemplateKeyword != 0; + } + + set + { + ((__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((__Internal*)__Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((__Internal*)__Instance)->numTemplateArgs; + } + + set + { + ((__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class ExprWithCleanups : global::CppSharp.Parser.AST.FullExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr subExpr; + + [FieldOffset(88)] + internal uint numObjects; + + [FieldOffset(92)] + internal byte cleanupsHaveSideEffects; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ExprWithCleanupsC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ExprWithCleanupsC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new ExprWithCleanups __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ExprWithCleanups(native.ToPointer(), skipVTables); + } + + internal static new ExprWithCleanups __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ExprWithCleanups)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ExprWithCleanups __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ExprWithCleanups(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExprWithCleanups(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ExprWithCleanups(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public ExprWithCleanups() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) _0.__Instance); + } + + public uint NumObjects + { + get + { + return ((__Internal*)__Instance)->numObjects; + } + + set + { + ((__Internal*)__Instance)->numObjects = value; + } + } + + public bool CleanupsHaveSideEffects + { + get + { + return ((__Internal*)__Instance)->cleanupsHaveSideEffects != 0; + } + + set + { + ((__Internal*)__Instance)->cleanupsHaveSideEffects = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXUnresolvedConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(128)] + internal byte isListInitialization; + + [FieldOffset(132)] + internal uint arg_size; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr12getargumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Getarguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr12addargumentsERPNS1_4ExprE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void Addarguments(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr14clearargumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void Cleararguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExpr17getargumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetargumentsCount(__IntPtr __instance); + } + + internal static new CXXUnresolvedConstructExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXUnresolvedConstructExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXUnresolvedConstructExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXUnresolvedConstructExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXUnresolvedConstructExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXUnresolvedConstructExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CXXUnresolvedConstructExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXUnresolvedConstructExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXUnresolvedConstructExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.Expr Getarguments(uint i) + { + var ___ret = __Internal.Getarguments(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void Addarguments(global::CppSharp.Parser.AST.Expr s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.Addarguments(__Instance, __arg0); + } + + public void Cleararguments() + { + __Internal.Cleararguments(__Instance); + } + + public global::CppSharp.Parser.SourceLocation LParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lParenLoc); + } + + set + { + ((__Internal*)__Instance)->lParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType TypeAsWritten + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->typeAsWritten)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->typeAsWritten = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsListInitialization + { + get + { + return ((__Internal*)__Instance)->isListInitialization != 0; + } + + set + { + ((__Internal*)__Instance)->isListInitialization = (byte) (value ? 1 : 0); + } + } + + public uint ArgSize + { + get + { + return ((__Internal*)__Instance)->arg_size; + } + + set + { + ((__Internal*)__Instance)->arg_size = value; + } + } + + public uint GetargumentsCount + { + get + { + var ___ret = __Internal.GetargumentsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class CXXDependentScopeMemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 144)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(73)] + internal byte isImplicitAccess; + + [FieldOffset(80)] + internal __IntPtr @base; + + [FieldOffset(88)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(104)] + internal byte isArrow; + + [FieldOffset(108)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(112)] + internal __IntPtr firstQualifierFoundInScope; + + [FieldOffset(120)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(124)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(128)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(132)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(136)] + internal byte hasTemplateKeyword; + + [FieldOffset(137)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(140)] + internal uint numTemplateArgs; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27CXXDependentScopeMemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27CXXDependentScopeMemberExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXDependentScopeMemberExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXDependentScopeMemberExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXDependentScopeMemberExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXDependentScopeMemberExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXDependentScopeMemberExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXDependentScopeMemberExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXDependentScopeMemberExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXDependentScopeMemberExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXDependentScopeMemberExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((__Internal*)__Instance)->isImplicitAccess != 0; + } + + set + { + ((__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Base + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->@base, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->@base = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->baseType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->baseType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool IsArrow + { + get + { + return ((__Internal*)__Instance)->isArrow != 0; + } + + set + { + ((__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->operatorLoc); + } + + set + { + ((__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration FirstQualifierFoundInScope + { + get + { + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->firstQualifierFoundInScope, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->firstQualifierFoundInScope = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->memberLoc); + } + + set + { + ((__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation TemplateKeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->templateKeywordLoc); + } + + set + { + ((__Internal*)__Instance)->templateKeywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation LAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->lAngleLoc); + } + + set + { + ((__Internal*)__Instance)->lAngleLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RAngleLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rAngleLoc); + } + + set + { + ((__Internal*)__Instance)->rAngleLoc = value.__Instance; + } + } + + public bool HasTemplateKeyword + { + get + { + return ((__Internal*)__Instance)->hasTemplateKeyword != 0; + } + + set + { + ((__Internal*)__Instance)->hasTemplateKeyword = (byte) (value ? 1 : 0); + } + } + + public bool HasExplicitTemplateArgs + { + get + { + return ((__Internal*)__Instance)->hasExplicitTemplateArgs != 0; + } + + set + { + ((__Internal*)__Instance)->hasExplicitTemplateArgs = (byte) (value ? 1 : 0); + } + } + + public uint NumTemplateArgs + { + get + { + return ((__Internal*)__Instance)->numTemplateArgs; + } + + set + { + ((__Internal*)__Instance)->numTemplateArgs = value; + } + } + } + + public unsafe partial class UnresolvedMemberExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 152)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal uint numDecls; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(92)] + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(96)] + internal byte hasTemplateKeyword; + + [FieldOffset(97)] + internal byte hasExplicitTemplateArgs; + + [FieldOffset(100)] + internal uint numTemplateArgs; + + [FieldOffset(104)] + internal byte isImplicitAccess; + + [FieldOffset(112)] + internal __IntPtr @base; + + [FieldOffset(120)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(136)] + internal byte hasUnresolvedUsing; + + [FieldOffset(137)] + internal byte isArrow; + + [FieldOffset(140)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(144)] + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20UnresolvedMemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20UnresolvedMemberExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new UnresolvedMemberExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new UnresolvedMemberExpr(native.ToPointer(), skipVTables); + } + + internal static new UnresolvedMemberExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (UnresolvedMemberExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static UnresolvedMemberExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new UnresolvedMemberExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private UnresolvedMemberExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected UnresolvedMemberExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public UnresolvedMemberExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicitAccess + { + get + { + return ((__Internal*)__Instance)->isImplicitAccess != 0; + } + + set + { + ((__Internal*)__Instance)->isImplicitAccess = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Base + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->@base, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->@base = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType BaseType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->baseType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->baseType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + + public bool HasUnresolvedUsing + { + get + { + return ((__Internal*)__Instance)->hasUnresolvedUsing != 0; + } + + set + { + ((__Internal*)__Instance)->hasUnresolvedUsing = (byte) (value ? 1 : 0); + } + } + + public bool IsArrow + { + get + { + return ((__Internal*)__Instance)->isArrow != 0; + } + + set + { + ((__Internal*)__Instance)->isArrow = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->operatorLoc); + } + + set + { + ((__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation MemberLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->memberLoc); + } + + set + { + ((__Internal*)__Instance)->memberLoc = value.__Instance; + } + } + } + + public unsafe partial class CXXNoexceptExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr operand; + + [FieldOffset(88)] + internal byte value; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15CXXNoexceptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15CXXNoexceptExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXNoexceptExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXNoexceptExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXNoexceptExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXNoexceptExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXNoexceptExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXNoexceptExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXNoexceptExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXNoexceptExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXNoexceptExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->operand, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->operand = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool Value + { + get + { + return ((__Internal*)__Instance)->value != 0; + } + + set + { + ((__Internal*)__Instance)->value = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class PackExpansionExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 96)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr pattern; + + [FieldOffset(88)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17PackExpansionExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17PackExpansionExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new PackExpansionExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new PackExpansionExpr(native.ToPointer(), skipVTables); + } + + internal static new PackExpansionExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (PackExpansionExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static PackExpansionExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new PackExpansionExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private PackExpansionExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected PackExpansionExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public PackExpansionExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Pattern + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->pattern, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->pattern = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->ellipsisLoc); + } + + set + { + ((__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + } + + public unsafe partial class SizeOfPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] + internal global::CppSharp.Parser.SourceLocation.__Internal packLoc; + + [FieldOffset(84)] + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(88)] + internal __IntPtr pack; + + [FieldOffset(96)] + internal uint packLength; + + [FieldOffset(100)] + internal byte isPartiallySubstituted; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14SizeOfPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14SizeOfPackExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new SizeOfPackExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new SizeOfPackExpr(native.ToPointer(), skipVTables); + } + + internal static new SizeOfPackExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (SizeOfPackExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static SizeOfPackExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new SizeOfPackExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private SizeOfPackExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected SizeOfPackExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public SizeOfPackExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation OperatorLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->operatorLoc); + } + + set + { + ((__Internal*)__Instance)->operatorLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation PackLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->packLoc); + } + + set + { + ((__Internal*)__Instance)->packLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation RParenLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->rParenLoc); + } + + set + { + ((__Internal*)__Instance)->rParenLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Declaration Pack + { + get + { + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->pack, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->pack = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint PackLength + { + get + { + return ((__Internal*)__Instance)->packLength; + } + + set + { + ((__Internal*)__Instance)->packLength = value; + } + } + + public bool IsPartiallySubstituted + { + get + { + return ((__Internal*)__Instance)->isPartiallySubstituted != 0; + } + + set + { + ((__Internal*)__Instance)->isPartiallySubstituted = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class SubstNonTypeTemplateParmExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(80)] + internal __IntPtr replacement; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST28SubstNonTypeTemplateParmExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST28SubstNonTypeTemplateParmExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new SubstNonTypeTemplateParmExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new SubstNonTypeTemplateParmExpr(native.ToPointer(), skipVTables); + } + + internal static new SubstNonTypeTemplateParmExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (SubstNonTypeTemplateParmExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static SubstNonTypeTemplateParmExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new SubstNonTypeTemplateParmExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private SubstNonTypeTemplateParmExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected SubstNonTypeTemplateParmExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public SubstNonTypeTemplateParmExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation NameLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->nameLoc); + } + + set + { + ((__Internal*)__Instance)->nameLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Replacement + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->replacement, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->replacement = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class SubstNonTypeTemplateParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(80)] + internal global::CppSharp.Parser.AST.TemplateArgument.__Internal argumentPack; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST32SubstNonTypeTemplateParmPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST32SubstNonTypeTemplateParmPackExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new SubstNonTypeTemplateParmPackExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new SubstNonTypeTemplateParmPackExpr(native.ToPointer(), skipVTables); + } + + internal static new SubstNonTypeTemplateParmPackExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (SubstNonTypeTemplateParmPackExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static SubstNonTypeTemplateParmPackExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new SubstNonTypeTemplateParmPackExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private SubstNonTypeTemplateParmPackExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected SubstNonTypeTemplateParmPackExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public SubstNonTypeTemplateParmPackExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation ParameterPackLocation + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->parameterPackLocation); + } + + set + { + ((__Internal*)__Instance)->parameterPackLocation = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.TemplateArgument ArgumentPack + { + get + { + return global::CppSharp.Parser.AST.TemplateArgument.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->argumentPack)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->argumentPack = *(global::CppSharp.Parser.AST.TemplateArgument.__Internal*) value.__Instance; + } + } + } + + public unsafe partial class FunctionParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 88)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(80)] + internal uint numExpansions; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20FunctionParmPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20FunctionParmPackExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new FunctionParmPackExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new FunctionParmPackExpr(native.ToPointer(), skipVTables); + } + + internal static new FunctionParmPackExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (FunctionParmPackExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static FunctionParmPackExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new FunctionParmPackExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private FunctionParmPackExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected FunctionParmPackExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public FunctionParmPackExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.SourceLocation ParameterPackLocation + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->parameterPackLocation); + } + + set + { + ((__Internal*)__Instance)->parameterPackLocation = value.__Instance; + } + } + + public uint NumExpansions + { + get + { + return ((__Internal*)__Instance)->numExpansions; + } + + set + { + ((__Internal*)__Instance)->numExpansions = value; + } + } + } + + public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr temporary; + + [FieldOffset(88)] + internal __IntPtr TemporaryExpr; + + [FieldOffset(96)] + internal uint manglingNumber; + + [FieldOffset(100)] + internal byte isBoundToLvalueReference; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public unsafe partial class ExtraState : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 1)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExpr10ExtraStateC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExpr10ExtraStateC2ERKS3_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static ExtraState __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ExtraState(native.ToPointer(), skipVTables); + } + + internal static ExtraState __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ExtraState)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ExtraState __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ExtraState(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ExtraState(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ExtraState(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public ExtraState() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + internal static new MaterializeTemporaryExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new MaterializeTemporaryExpr(native.ToPointer(), skipVTables); + } + + internal static new MaterializeTemporaryExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (MaterializeTemporaryExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static MaterializeTemporaryExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new MaterializeTemporaryExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private MaterializeTemporaryExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected MaterializeTemporaryExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public MaterializeTemporaryExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Stmt Temporary + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->temporary, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->temporary = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr TemporaryExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->TemporaryExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->TemporaryExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint ManglingNumber + { + get + { + return ((__Internal*)__Instance)->manglingNumber; + } + + set + { + ((__Internal*)__Instance)->manglingNumber = value; + } + } + + public bool IsBoundToLvalueReference + { + get + { + return ((__Internal*)__Instance)->isBoundToLvalueReference != 0; + } + + set + { + ((__Internal*)__Instance)->isBoundToLvalueReference = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXFoldExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr lHS; + + [FieldOffset(88)] + internal __IntPtr rHS; + + [FieldOffset(96)] + internal byte isRightFold; + + [FieldOffset(97)] + internal byte isLeftFold; + + [FieldOffset(104)] + internal __IntPtr pattern; + + [FieldOffset(112)] + internal __IntPtr init; + + [FieldOffset(120)] + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(124)] + internal global::CppSharp.Parser.AST.BinaryOperatorKind _operator; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CXXFoldExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CXXFoldExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CXXFoldExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CXXFoldExpr(native.ToPointer(), skipVTables); + } + + internal static new CXXFoldExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CXXFoldExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CXXFoldExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CXXFoldExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CXXFoldExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CXXFoldExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CXXFoldExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr LHS + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->lHS, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->lHS = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr RHS + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->rHS, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->rHS = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public bool IsRightFold + { + get + { + return ((__Internal*)__Instance)->isRightFold != 0; + } + + set + { + ((__Internal*)__Instance)->isRightFold = (byte) (value ? 1 : 0); + } + } + + public bool IsLeftFold + { + get + { + return ((__Internal*)__Instance)->isLeftFold != 0; + } + + set + { + ((__Internal*)__Instance)->isLeftFold = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Pattern + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->pattern, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->pattern = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr Init + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->init, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->init = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation EllipsisLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->ellipsisLoc); + } + + set + { + ((__Internal*)__Instance)->ellipsisLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.BinaryOperatorKind Operator + { + get + { + return ((__Internal*)__Instance)->_operator; + } + + set + { + ((__Internal*)__Instance)->_operator = value; + } + } + } + + public unsafe partial class CoroutineSuspendExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 120)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(80)] + internal __IntPtr commonExpr; + + [FieldOffset(88)] + internal __IntPtr opaqueValue; + + [FieldOffset(96)] + internal __IntPtr readyExpr; + + [FieldOffset(104)] + internal __IntPtr suspendExpr; + + [FieldOffset(112)] + internal __IntPtr resumeExpr; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2ENS1_9StmtClassE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance, global::CppSharp.Parser.AST.StmtClass klass); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + public enum SubExpr + { + Common = 0, + Ready = 1, + Suspend = 2, + Resume = 3, + Count = 4 + } + + internal static new CoroutineSuspendExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CoroutineSuspendExpr(native.ToPointer(), skipVTables); + } + + internal static new CoroutineSuspendExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CoroutineSuspendExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CoroutineSuspendExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CoroutineSuspendExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoroutineSuspendExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CoroutineSuspendExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CoroutineSuspendExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) _0.__Instance); + } + + public static implicit operator global::CppSharp.Parser.AST.CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) + { + return new global::CppSharp.Parser.AST.CoroutineSuspendExpr(klass); + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->keywordLoc); + } + + set + { + ((__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr CommonExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->commonExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->commonExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.OpaqueValueExpr OpaqueValue + { + get + { + var __result0 = global::CppSharp.Parser.AST.OpaqueValueExpr.__GetOrCreateInstance(((__Internal*)__Instance)->opaqueValue, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->opaqueValue = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ReadyExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->readyExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->readyExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr SuspendExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->suspendExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->suspendExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Expr ResumeExpr + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->resumeExpr, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->resumeExpr = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class CoawaitExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 136)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(80)] + internal __IntPtr commonExpr; + + [FieldOffset(88)] + internal __IntPtr opaqueValue; + + [FieldOffset(96)] + internal __IntPtr readyExpr; + + [FieldOffset(104)] + internal __IntPtr suspendExpr; + + [FieldOffset(112)] + internal __IntPtr resumeExpr; + + [FieldOffset(120)] + internal byte isImplicit; + + [FieldOffset(128)] + internal __IntPtr operand; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CoawaitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CoawaitExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CoawaitExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CoawaitExpr(native.ToPointer(), skipVTables); + } + + internal static new CoawaitExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CoawaitExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CoawaitExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CoawaitExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoawaitExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CoawaitExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CoawaitExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) _0.__Instance); + } + + public bool IsImplicit + { + get + { + return ((__Internal*)__Instance)->isImplicit != 0; + } + + set + { + ((__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + } + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->operand, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->operand = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + + public unsafe partial class DependentCoawaitExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 104)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(80)] + internal __IntPtr operand; + + [FieldOffset(88)] + internal __IntPtr operatorCoawaitLookup; + + [FieldOffset(96)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20DependentCoawaitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20DependentCoawaitExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new DependentCoawaitExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new DependentCoawaitExpr(native.ToPointer(), skipVTables); + } + + internal static new DependentCoawaitExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (DependentCoawaitExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static DependentCoawaitExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new DependentCoawaitExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private DependentCoawaitExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected DependentCoawaitExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public DependentCoawaitExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->operand, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->operand = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.UnresolvedLookupExpr OperatorCoawaitLookup + { + get + { + var __result0 = global::CppSharp.Parser.AST.UnresolvedLookupExpr.__GetOrCreateInstance(((__Internal*)__Instance)->operatorCoawaitLookup, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->operatorCoawaitLookup = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.SourceLocation KeywordLoc + { + get + { + return global::CppSharp.Parser.SourceLocation.__CreateInstance(((__Internal*)__Instance)->keywordLoc); + } + + set + { + ((__Internal*)__Instance)->keywordLoc = value.__Instance; + } + } + } + + public unsafe partial class CoyieldExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 128)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] + internal byte valueDependent; + + [FieldOffset(41)] + internal byte typeDependent; + + [FieldOffset(42)] + internal byte instantiationDependent; + + [FieldOffset(43)] + internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] + internal byte isLValue; + + [FieldOffset(49)] + internal byte isRValue; + + [FieldOffset(50)] + internal byte isXValue; + + [FieldOffset(51)] + internal byte isGLValue; + + [FieldOffset(52)] + internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] + internal __IntPtr sourceBitField; + + [FieldOffset(64)] + internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] + internal byte hasPlaceholderType; + + [FieldOffset(76)] + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(80)] + internal __IntPtr commonExpr; + + [FieldOffset(88)] + internal __IntPtr opaqueValue; + + [FieldOffset(96)] + internal __IntPtr readyExpr; + + [FieldOffset(104)] + internal __IntPtr suspendExpr; + + [FieldOffset(112)] + internal __IntPtr resumeExpr; + + [FieldOffset(120)] + internal __IntPtr operand; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CoyieldExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CoyieldExprC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + } + + internal static new CoyieldExpr __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CoyieldExpr(native.ToPointer(), skipVTables); + } + + internal static new CoyieldExpr __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CoyieldExpr)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CoyieldExpr __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CoyieldExpr(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private CoyieldExpr(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CoyieldExpr(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public CoyieldExpr() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) _0.__Instance); + } + + public global::CppSharp.Parser.AST.Expr Operand + { + get + { + var __result0 = global::CppSharp.Parser.AST.Expr.__GetOrCreateInstance(((__Internal*)__Instance)->operand, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->operand = value is null ? __IntPtr.Zero : value.__Instance; + } + } + } + } + } +} + +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(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C ABI; + + [FieldOffset(24)] + internal global::CppSharp.Parser.ParserIntType char16Type; + + [FieldOffset(28)] + internal global::CppSharp.Parser.ParserIntType char32Type; + + [FieldOffset(32)] + internal global::CppSharp.Parser.ParserIntType int64Type; + + [FieldOffset(36)] + internal global::CppSharp.Parser.ParserIntType intMaxType; + + [FieldOffset(40)] + internal global::CppSharp.Parser.ParserIntType intPtrType; + + [FieldOffset(44)] + internal global::CppSharp.Parser.ParserIntType sizeType; + + [FieldOffset(48)] + internal global::CppSharp.Parser.ParserIntType uIntMaxType; + + [FieldOffset(52)] + internal global::CppSharp.Parser.ParserIntType wCharType; + + [FieldOffset(56)] + internal global::CppSharp.Parser.ParserIntType wIntType; + + [FieldOffset(60)] + internal uint boolAlign; + + [FieldOffset(64)] + internal uint boolWidth; + + [FieldOffset(68)] + internal uint charAlign; + + [FieldOffset(72)] + internal uint charWidth; + + [FieldOffset(76)] + internal uint char16Align; + + [FieldOffset(80)] + internal uint char16Width; + + [FieldOffset(84)] + internal uint char32Align; + + [FieldOffset(88)] + internal uint char32Width; + + [FieldOffset(92)] + internal uint halfAlign; + + [FieldOffset(96)] + internal uint halfWidth; + + [FieldOffset(100)] + internal uint floatAlign; + + [FieldOffset(104)] + internal uint floatWidth; + + [FieldOffset(108)] + internal uint doubleAlign; + + [FieldOffset(112)] + internal uint doubleWidth; + + [FieldOffset(116)] + internal uint shortAlign; + + [FieldOffset(120)] + internal uint shortWidth; + + [FieldOffset(124)] + internal uint intAlign; + + [FieldOffset(128)] + internal uint intWidth; + + [FieldOffset(132)] + internal uint intMaxTWidth; + + [FieldOffset(136)] + internal uint longAlign; + + [FieldOffset(140)] + internal uint longWidth; + + [FieldOffset(144)] + internal uint longDoubleAlign; + + [FieldOffset(148)] + internal uint longDoubleWidth; + + [FieldOffset(152)] + internal uint longLongAlign; + + [FieldOffset(156)] + internal uint longLongWidth; + + [FieldOffset(160)] + internal uint pointerAlign; + + [FieldOffset(164)] + internal uint pointerWidth; + + [FieldOffset(168)] + internal uint wCharAlign; + + [FieldOffset(172)] + internal uint wCharWidth; + + [FieldOffset(176)] + internal uint float128Align; + + [FieldOffset(180)] + internal uint float128Width; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfoC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfoC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfoD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfo6getABIEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetABI(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfo6setABIEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetABI(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.ParserTargetInfo managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.ParserTargetInfo managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static ParserTargetInfo __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ParserTargetInfo(native.ToPointer(), skipVTables); + } + + internal static ParserTargetInfo __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ParserTargetInfo)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ParserTargetInfo __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ParserTargetInfo(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.ParserTargetInfo.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private ParserTargetInfo(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ParserTargetInfo(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public ParserTargetInfo() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ParserTargetInfo(global::CppSharp.Parser.ParserTargetInfo _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.ParserIntType Char16Type + { + get + { + return ((__Internal*)__Instance)->char16Type; + } + + set + { + ((__Internal*)__Instance)->char16Type = value; + } + } + + public global::CppSharp.Parser.ParserIntType Char32Type + { + get + { + return ((__Internal*)__Instance)->char32Type; + } + + set + { + ((__Internal*)__Instance)->char32Type = value; + } + } + + public global::CppSharp.Parser.ParserIntType Int64Type + { + get + { + return ((__Internal*)__Instance)->int64Type; + } + + set + { + ((__Internal*)__Instance)->int64Type = value; + } + } + + public global::CppSharp.Parser.ParserIntType IntMaxType + { + get + { + return ((__Internal*)__Instance)->intMaxType; + } + + set + { + ((__Internal*)__Instance)->intMaxType = value; + } + } + + public global::CppSharp.Parser.ParserIntType IntPtrType + { + get + { + return ((__Internal*)__Instance)->intPtrType; + } + + set + { + ((__Internal*)__Instance)->intPtrType = value; + } + } + + public global::CppSharp.Parser.ParserIntType SizeType + { + get + { + return ((__Internal*)__Instance)->sizeType; + } + + set + { + ((__Internal*)__Instance)->sizeType = value; + } + } + + public global::CppSharp.Parser.ParserIntType UIntMaxType + { + get + { + return ((__Internal*)__Instance)->uIntMaxType; + } + + set + { + ((__Internal*)__Instance)->uIntMaxType = value; + } + } + + public global::CppSharp.Parser.ParserIntType WCharType + { + get + { + return ((__Internal*)__Instance)->wCharType; + } + + set + { + ((__Internal*)__Instance)->wCharType = value; + } + } + + public global::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; + } + } + + public uint Float128Align + { + get + { + return ((__Internal*)__Instance)->float128Align; + } + + set + { + ((__Internal*)__Instance)->float128Align = value; + } + } + + public uint Float128Width + { + get + { + return ((__Internal*)__Instance)->float128Width; + } + + set + { + ((__Internal*)__Instance)->float128Width = value; + } + } + + public string ABI + { + get + { + var ___ret = __Internal.GetABI(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetABI(__Instance, value); + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + 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 Parser + { + public partial struct __Internal + { + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.Parser managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.Parser managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static Parser __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Parser(native.ToPointer(), skipVTables); + } + + internal static Parser __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Parser)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Parser __CreateInstance(__Internal native, bool skipVTables = false) + { + return new Parser(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private Parser(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Parser(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + } + + public unsafe partial class CppParserOptions : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 296)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(24)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ CompilationOptions; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C LibraryFile; + + [FieldOffset(72)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ SourceFiles; + + [FieldOffset(96)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ IncludeDirs; + + [FieldOffset(120)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ SystemIncludeDirs; + + [FieldOffset(144)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Defines; + + [FieldOffset(168)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Undefines; + + [FieldOffset(192)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ SupportedStdTypes; + + [FieldOffset(216)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ SupportedFunctionTemplates; + + [FieldOffset(240)] + internal __IntPtr ASTContext; + + [FieldOffset(248)] + internal int toolSetToUse; + + [FieldOffset(256)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C TargetTriple; + + [FieldOffset(280)] + internal global::CppSharp.Parser.AST.CppAbi abi; + + [FieldOffset(284)] + internal byte noStandardIncludes; + + [FieldOffset(285)] + internal byte noBuiltinIncludes; + + [FieldOffset(286)] + internal byte microsoftMode; + + [FieldOffset(287)] + internal byte verbose; + + [FieldOffset(288)] + internal byte unityBuild; + + [FieldOffset(289)] + internal byte skipPrivateDeclarations; + + [FieldOffset(290)] + internal byte skipLayoutInfo; + + [FieldOffset(291)] + internal byte skipFunctionBodies; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptionsC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptionsC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptionsD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions12getArgumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetArguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions12addArgumentsEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddArguments(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14clearArgumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearArguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions21getCompilationOptionsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetCompilationOptions(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions21addCompilationOptionsEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddCompilationOptions(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions23clearCompilationOptionsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearCompilationOptions(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14getSourceFilesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetSourceFiles(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14addSourceFilesEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddSourceFiles(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions16clearSourceFilesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearSourceFiles(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14getIncludeDirsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetIncludeDirs(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14addIncludeDirsEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddIncludeDirs(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions16clearIncludeDirsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearIncludeDirs(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions20getSystemIncludeDirsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetSystemIncludeDirs(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions20addSystemIncludeDirsEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddSystemIncludeDirs(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions22clearSystemIncludeDirsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearSystemIncludeDirs(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions10getDefinesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetDefines(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions10addDefinesEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddDefines(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions12clearDefinesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearDefines(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions12getUndefinesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetUndefines(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions12addUndefinesEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddUndefines(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14clearUndefinesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearUndefines(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions20getSupportedStdTypesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetSupportedStdTypes(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions20addSupportedStdTypesEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddSupportedStdTypes(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions22clearSupportedStdTypesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearSupportedStdTypes(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions29getSupportedFunctionTemplatesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetSupportedFunctionTemplates(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions29addSupportedFunctionTemplatesEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddSupportedFunctionTemplates(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions31clearSupportedFunctionTemplatesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearSupportedFunctionTemplates(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15getClangVersionEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetClangVersion(); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetArgumentsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions26getCompilationOptionsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetCompilationOptionsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14getLibraryFileEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetLibraryFile(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14setLibraryFileEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetLibraryFile(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions19getSourceFilesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetSourceFilesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions19getIncludeDirsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetIncludeDirsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions25getSystemIncludeDirsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetSystemIncludeDirsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15getDefinesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetDefinesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions17getUndefinesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetUndefinesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions25getSupportedStdTypesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetSupportedStdTypesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions34getSupportedFunctionTemplatesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetSupportedFunctionTemplatesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15getTargetTripleEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTargetTriple(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15setTargetTripleEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTargetTriple(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.CppParserOptions managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.CppParserOptions managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static CppParserOptions __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CppParserOptions(native.ToPointer(), skipVTables); + } + + internal static CppParserOptions __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CppParserOptions)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CppParserOptions __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CppParserOptions(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.CppParserOptions.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CppParserOptions(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CppParserOptions(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public CppParserOptions() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppParserOptions.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CppParserOptions(global::CppSharp.Parser.CppParserOptions _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppParserOptions.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public string GetArguments(uint i) + { + var ___ret = __Internal.GetArguments(__Instance, i); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + public void AddArguments(string s) + { + __Internal.AddArguments(__Instance, s); + } + + public void ClearArguments() + { + __Internal.ClearArguments(__Instance); + } + + public string GetCompilationOptions(uint i) + { + var ___ret = __Internal.GetCompilationOptions(__Instance, i); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + public void AddCompilationOptions(string s) + { + __Internal.AddCompilationOptions(__Instance, s); + } + + public void ClearCompilationOptions() + { + __Internal.ClearCompilationOptions(__Instance); + } + + public string GetSourceFiles(uint i) + { + var ___ret = __Internal.GetSourceFiles(__Instance, i); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + public void AddSourceFiles(string s) + { + __Internal.AddSourceFiles(__Instance, s); + } + + public void ClearSourceFiles() + { + __Internal.ClearSourceFiles(__Instance); + } + + public string GetIncludeDirs(uint i) + { + var ___ret = __Internal.GetIncludeDirs(__Instance, i); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + public void AddIncludeDirs(string s) + { + __Internal.AddIncludeDirs(__Instance, s); + } + + public void ClearIncludeDirs() + { + __Internal.ClearIncludeDirs(__Instance); + } + + public string GetSystemIncludeDirs(uint i) + { + var ___ret = __Internal.GetSystemIncludeDirs(__Instance, i); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + public void AddSystemIncludeDirs(string s) + { + __Internal.AddSystemIncludeDirs(__Instance, s); + } + + public void ClearSystemIncludeDirs() + { + __Internal.ClearSystemIncludeDirs(__Instance); + } + + public string GetDefines(uint i) + { + var ___ret = __Internal.GetDefines(__Instance, i); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + public void AddDefines(string s) + { + __Internal.AddDefines(__Instance, s); + } + + public void ClearDefines() + { + __Internal.ClearDefines(__Instance); + } + + public string GetUndefines(uint i) + { + var ___ret = __Internal.GetUndefines(__Instance, i); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + public void AddUndefines(string s) + { + __Internal.AddUndefines(__Instance, s); + } + + public void ClearUndefines() + { + __Internal.ClearUndefines(__Instance); + } + + public string GetSupportedStdTypes(uint i) + { + var ___ret = __Internal.GetSupportedStdTypes(__Instance, i); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + public void AddSupportedStdTypes(string s) + { + __Internal.AddSupportedStdTypes(__Instance, s); + } + + public void ClearSupportedStdTypes() + { + __Internal.ClearSupportedStdTypes(__Instance); + } + + public string GetSupportedFunctionTemplates(uint i) + { + var ___ret = __Internal.GetSupportedFunctionTemplates(__Instance, i); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + public void AddSupportedFunctionTemplates(string s) + { + __Internal.AddSupportedFunctionTemplates(__Instance, s); + } + + public void ClearSupportedFunctionTemplates() + { + __Internal.ClearSupportedFunctionTemplates(__Instance); + } + + public global::CppSharp.Parser.AST.ASTContext ASTContext + { + get + { + var __result0 = global::CppSharp.Parser.AST.ASTContext.__GetOrCreateInstance(((__Internal*)__Instance)->ASTContext, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->ASTContext = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public int ToolSetToUse + { + get + { + return ((__Internal*)__Instance)->toolSetToUse; + } + + set + { + ((__Internal*)__Instance)->toolSetToUse = value; + } + } + + public global::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 bool UnityBuild + { + get + { + return ((__Internal*)__Instance)->unityBuild != 0; + } + + set + { + ((__Internal*)__Instance)->unityBuild = (byte) (value ? 1 : 0); + } + } + + public bool SkipPrivateDeclarations + { + get + { + return ((__Internal*)__Instance)->skipPrivateDeclarations != 0; + } + + set + { + ((__Internal*)__Instance)->skipPrivateDeclarations = (byte) (value ? 1 : 0); + } + } + + public bool SkipLayoutInfo + { + get + { + return ((__Internal*)__Instance)->skipLayoutInfo != 0; + } + + set + { + ((__Internal*)__Instance)->skipLayoutInfo = (byte) (value ? 1 : 0); + } + } + + public bool SkipFunctionBodies + { + get + { + return ((__Internal*)__Instance)->skipFunctionBodies != 0; + } + + set + { + ((__Internal*)__Instance)->skipFunctionBodies = (byte) (value ? 1 : 0); + } + } + + public static string ClangVersion + { + get + { + var ___ret = __Internal.GetClangVersion(); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + } + + public uint ArgumentsCount + { + get + { + var ___ret = __Internal.GetArgumentsCount(__Instance); + return ___ret; + } + } + + public uint CompilationOptionsCount + { + get + { + var ___ret = __Internal.GetCompilationOptionsCount(__Instance); + return ___ret; + } + } + + public string LibraryFile + { + get + { + var ___ret = __Internal.GetLibraryFile(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetLibraryFile(__Instance, value); + } + } + + public uint SourceFilesCount + { + get + { + var ___ret = __Internal.GetSourceFilesCount(__Instance); + return ___ret; + } + } + + public uint IncludeDirsCount + { + get + { + var ___ret = __Internal.GetIncludeDirsCount(__Instance); + return ___ret; + } + } + + public uint SystemIncludeDirsCount + { + get + { + var ___ret = __Internal.GetSystemIncludeDirsCount(__Instance); + return ___ret; + } + } + + public uint DefinesCount + { + get + { + var ___ret = __Internal.GetDefinesCount(__Instance); + return ___ret; + } + } + + public uint UndefinesCount + { + get + { + var ___ret = __Internal.GetUndefinesCount(__Instance); + return ___ret; + } + } + + public uint SupportedStdTypesCount + { + get + { + var ___ret = __Internal.GetSupportedStdTypesCount(__Instance); + return ___ret; + } + } + + public uint SupportedFunctionTemplatesCount + { + get + { + var ___ret = __Internal.GetSupportedFunctionTemplatesCount(__Instance); + return ___ret; + } + } + + public string TargetTriple + { + get + { + var ___ret = __Internal.GetTargetTriple(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetTargetTriple(__Instance, value); + } + } + } + + public unsafe partial class CppLinkerOptions : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 72)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(24)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ LibraryDirs; + + [FieldOffset(48)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Libraries; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptionsC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptionsC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptionsD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptions12getArgumentsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetArguments(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptions12addArgumentsEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddArguments(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptions14clearArgumentsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearArguments(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptions14getLibraryDirsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetLibraryDirs(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptions14addLibraryDirsEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddLibraryDirs(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptions16clearLibraryDirsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearLibraryDirs(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptions12getLibrariesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetLibraries(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptions12addLibrariesEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddLibraries(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptions14clearLibrariesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearLibraries(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptions17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetArgumentsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptions19getLibraryDirsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetLibraryDirsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptions17getLibrariesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetLibrariesCount(__IntPtr __instance); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.CppLinkerOptions managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.CppLinkerOptions managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static CppLinkerOptions __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CppLinkerOptions(native.ToPointer(), skipVTables); + } + + internal static CppLinkerOptions __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CppLinkerOptions)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CppLinkerOptions __CreateInstance(__Internal native, bool skipVTables = false) + { + return new CppLinkerOptions(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.CppLinkerOptions.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private CppLinkerOptions(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CppLinkerOptions(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public CppLinkerOptions() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CppLinkerOptions(global::CppSharp.Parser.CppLinkerOptions _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public string GetArguments(uint i) + { + var ___ret = __Internal.GetArguments(__Instance, i); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + public void AddArguments(string s) + { + __Internal.AddArguments(__Instance, s); + } + + public void ClearArguments() + { + __Internal.ClearArguments(__Instance); + } + + public string GetLibraryDirs(uint i) + { + var ___ret = __Internal.GetLibraryDirs(__Instance, i); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + public void AddLibraryDirs(string s) + { + __Internal.AddLibraryDirs(__Instance, s); + } + + public void ClearLibraryDirs() + { + __Internal.ClearLibraryDirs(__Instance); + } + + public string GetLibraries(uint i) + { + var ___ret = __Internal.GetLibraries(__Instance, i); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + public void AddLibraries(string s) + { + __Internal.AddLibraries(__Instance, s); + } + + public void ClearLibraries() + { + __Internal.ClearLibraries(__Instance); + } + + public uint ArgumentsCount + { + get + { + var ___ret = __Internal.GetArgumentsCount(__Instance); + return ___ret; + } + } + + public uint LibraryDirsCount + { + get + { + var ___ret = __Internal.GetLibraryDirsCount(__Instance); + return ___ret; + } + } + + public uint LibrariesCount + { + get + { + var ___ret = __Internal.GetLibrariesCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class ParserDiagnostic : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C FileName; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Message; + + [FieldOffset(48)] + internal global::CppSharp.Parser.ParserDiagnosticLevel level; + + [FieldOffset(52)] + internal int lineNumber; + + [FieldOffset(56)] + internal int columnNumber; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnosticC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnosticC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnosticD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic11getFileNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFileName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic11setFileNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetFileName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic10getMessageEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMessage(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic10setMessageEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMessage(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.ParserDiagnostic managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.ParserDiagnostic managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static ParserDiagnostic __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ParserDiagnostic(native.ToPointer(), skipVTables); + } + + internal static ParserDiagnostic __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ParserDiagnostic)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ParserDiagnostic __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ParserDiagnostic(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.ParserDiagnostic.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private ParserDiagnostic(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ParserDiagnostic(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public ParserDiagnostic() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ParserDiagnostic(global::CppSharp.Parser.ParserDiagnostic _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::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 string FileName + { + get + { + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetFileName(__Instance, value); + } + } + + public string Message + { + get + { + var ___ret = __Internal.GetMessage(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetMessage(__Instance, value); + } + } + } + + public unsafe partial class ParserResult : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 64)] + public partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.ParserResultKind kind; + + [FieldOffset(8)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_N___1_S_allocator__S0_ Diagnostics; + + [FieldOffset(32)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_NativeLibrary___N_std_N___1_S_allocator__S0_ Libraries; + + [FieldOffset(56)] + internal __IntPtr targetInfo; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResultC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResultC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResultD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResult14getDiagnosticsEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern global::CppSharp.Parser.ParserDiagnostic.__Internal GetDiagnostics(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResult14addDiagnosticsERNS0_16ParserDiagnosticE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddDiagnostics(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResult16clearDiagnosticsEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearDiagnostics(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResult12getLibrariesEj", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetLibraries(__IntPtr __instance, uint i); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResult12addLibrariesERPNS0_3AST13NativeLibraryE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void AddLibraries(__IntPtr __instance, __IntPtr s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResult14clearLibrariesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ClearLibraries(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResult19getDiagnosticsCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetDiagnosticsCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResult17getLibrariesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetLibrariesCount(__IntPtr __instance); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.ParserResult managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.ParserResult managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static ParserResult __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ParserResult(native.ToPointer(), skipVTables); + } + + internal static ParserResult __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ParserResult)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ParserResult __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ParserResult(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.ParserResult.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private ParserResult(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ParserResult(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public ParserResult() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserResult.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ParserResult(global::CppSharp.Parser.ParserResult _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserResult.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.ParserDiagnostic GetDiagnostics(uint i) + { + var ___ret = __Internal.GetDiagnostics(__Instance, i); + var _____ret = global::CppSharp.Parser.ParserDiagnostic.__CreateInstance(___ret); + global::CppSharp.Parser.ParserDiagnostic.__Internal.dtor(new __IntPtr(&___ret)); + return _____ret; + } + + public void AddDiagnostics(global::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(__Instance, __arg0); + } + + public void ClearDiagnostics() + { + __Internal.ClearDiagnostics(__Instance); + } + + public global::CppSharp.Parser.AST.NativeLibrary GetLibraries(uint i) + { + var ___ret = __Internal.GetLibraries(__Instance, i); + var __result0 = global::CppSharp.Parser.AST.NativeLibrary.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public void AddLibraries(global::CppSharp.Parser.AST.NativeLibrary s) + { + if (ReferenceEquals(s, null)) + throw new global::System.ArgumentNullException("s", "Cannot be null because it is a C++ reference (&)."); + var ____arg0 = s.__Instance; + var __arg0 = new __IntPtr(&____arg0); + __Internal.AddLibraries(__Instance, __arg0); + } + + public void ClearLibraries() + { + __Internal.ClearLibraries(__Instance); + } + + public global::CppSharp.Parser.ParserResultKind Kind + { + get + { + return ((__Internal*)__Instance)->kind; + } + + set + { + ((__Internal*)__Instance)->kind = value; + } + } + + public global::CppSharp.Parser.ParserTargetInfo TargetInfo + { + get + { + var __result0 = global::CppSharp.Parser.ParserTargetInfo.__GetOrCreateInstance(((__Internal*)__Instance)->targetInfo, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->targetInfo = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public uint DiagnosticsCount + { + get + { + var ___ret = __Internal.GetDiagnosticsCount(__Instance); + return ___ret; + } + } + + public uint LibrariesCount + { + get + { + var ___ret = __Internal.GetLibrariesCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class ClangParser : IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 1)] + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParserC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser11ParseHeaderEPNS0_16CppParserOptionsE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ParseHeader(__IntPtr Opts); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser12ParseLibraryEPNS0_16CppLinkerOptionsE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ParseLibrary(__IntPtr Opts); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser5BuildEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsEPKcb", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Build(__IntPtr Opts, __IntPtr LinkerOptions, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File, bool Last); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser7CompileEPNS0_16CppParserOptionsEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Compile(__IntPtr Opts, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser4LinkEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsEPKcb", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Link(__IntPtr Opts, __IntPtr LinkerOptions, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File, bool Last); + } + + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::CppSharp.Parser.ClangParser managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::CppSharp.Parser.ClangParser managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static ClangParser __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new ClangParser(native.ToPointer(), skipVTables); + } + + internal static ClangParser __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (ClangParser)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static ClangParser __CreateInstance(__Internal native, bool skipVTables = false) + { + return new ClangParser(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + *(__Internal*) ret = native; + return ret.ToPointer(); + } + + private ClangParser(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected ClangParser(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public ClangParser() + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ClangParser.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + public ClangParser(global::CppSharp.Parser.ClangParser _0) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ClangParser.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.ClangParser.__Internal*) __Instance) = *((global::CppSharp.Parser.ClangParser.__Internal*) _0.__Instance); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + + public static global::CppSharp.Parser.ParserResult ParseHeader(global::CppSharp.Parser.CppParserOptions Opts) + { + var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; + var ___ret = __Internal.ParseHeader(__arg0); + var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public static global::CppSharp.Parser.ParserResult ParseLibrary(global::CppSharp.Parser.CppLinkerOptions Opts) + { + var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; + var ___ret = __Internal.ParseLibrary(__arg0); + var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public static global::CppSharp.Parser.ParserResult Build(global::CppSharp.Parser.CppParserOptions Opts, global::CppSharp.Parser.CppLinkerOptions LinkerOptions, string File, bool Last) + { + var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; + var __arg1 = LinkerOptions is null ? __IntPtr.Zero : LinkerOptions.__Instance; + var ___ret = __Internal.Build(__arg0, __arg1, File, Last); + var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public static global::CppSharp.Parser.ParserResult Compile(global::CppSharp.Parser.CppParserOptions Opts, string File) + { + var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; + var ___ret = __Internal.Compile(__arg0, File); + var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); + return __result0; + } + + public static global::CppSharp.Parser.ParserResult Link(global::CppSharp.Parser.CppParserOptions Opts, global::CppSharp.Parser.CppLinkerOptions LinkerOptions, string File, bool Last) + { + var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; + var __arg1 = LinkerOptions is null ? __IntPtr.Zero : LinkerOptions.__Instance; + var ___ret = __Internal.Link(__arg0, __arg1, File, Last); + var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); + return __result0; + } + } + } +} + +namespace Std +{ + namespace CompressedPair + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_NativeLibrary___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair__l___N_std_N___1_S___map_value_compare____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S___value_type__S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S1__Vb1 + { + [FieldOffset(0)] + internal ulong __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S___tree_end_node_____N_std_N___1_S___tree_node_base___v___N_std_N___1_S_allocator____N_std_N___1_S___tree_node____N_std_N___1_S___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration_S3_ + { + [FieldOffset(0)] + internal global::Std.TreeEndNode.__Internal_Ptr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + } + +} +namespace Std +{ + namespace Vector + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_NativeLibrary___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_NativeLibrary___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S1_ __end_cap_; + } + } + +} +namespace Std +{ + namespace Tree + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S___tree____N_std_N___1_S___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S___map_value_compare__S1__S0____N_std_N___1_S_less__S1__Vb1___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_node_; + + [FieldOffset(8)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S___tree_end_node_____N_std_N___1_S___tree_node_base___v___N_std_N___1_S_allocator____N_std_N___1_S___tree_node____N_std_N___1_S___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration_S3_ __pair1_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair__l___N_std_N___1_S___map_value_compare____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S___value_type__S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S1__Vb1 __pair3_; + } + } + +} +namespace Std +{ + namespace Map + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ + { + [FieldOffset(0)] + internal global::Std.Tree.__Internalc__N_std_N___1_S___tree____N_std_N___1_S___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S___map_value_compare__S1__S0____N_std_N___1_S_less__S1__Vb1___N_std_N___1_S_allocator__S0_ __tree_; + } + } +} diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std-symbols.cpp b/src/CppParser/Bindings/CSharp/arm64-apple-darwin/Std-symbols.cpp similarity index 96% rename from src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std-symbols.cpp rename to src/CppParser/Bindings/CSharp/arm64-apple-darwin/Std-symbols.cpp index 26e5ae1647..c4b4b67673 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std-symbols.cpp +++ b/src/CppParser/Bindings/CSharp/arm64-apple-darwin/Std-symbols.cpp @@ -1,5 +1,6 @@ #define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS #define _LIBCPP_HIDE_FROM_ABI +#define _LIBCPP_NO_ABI_TAG #include #include diff --git a/src/CppParser/Bindings/CSharp/arm64-apple-darwin/Std.cs b/src/CppParser/Bindings/CSharp/arm64-apple-darwin/Std.cs new file mode 100644 index 0000000000..cff4807d10 --- /dev/null +++ b/src/CppParser/Bindings/CSharp/arm64-apple-darwin/Std.cs @@ -0,0 +1,584 @@ +// ---------------------------------------------------------------------------- +// +// This is autogenerated code by CppSharp. +// Do not edit this file or all your changes will be lost after re-generation. +// +// ---------------------------------------------------------------------------- +using System; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Security; +using __NativeMemory = global::System.Runtime.InteropServices.NativeMemory; +using __CallingConvention = global::System.Runtime.InteropServices.CallingConvention; +using __IntPtr = global::System.IntPtr; + +[assembly:InternalsVisibleTo("CppSharp.Parser.CSharp")] + +[assembly:InternalsVisibleTo("CppSharp.CppParser")] + +#pragma warning disable CS0109 // Member does not hide an inherited member; new keyword is not required +#pragma warning disable CS9084 // Struct member returns 'this' or other instance members by reference + +namespace Std +{ +} + +namespace Std +{ +} + +namespace Std +{ +} + +namespace Std +{ +} + +namespace Std +{ +} + +namespace Std +{ +} + +namespace Std +{ +} + +namespace Std +{ +} + +namespace Std +{ +} + +namespace Std +{ + namespace CharTraits + { + [StructLayout(LayoutKind.Explicit, Size = 1)] + public unsafe partial struct __Internal + { + } + } + + public unsafe partial class CharTraits<_CharT> : IDisposable + { + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary> NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary>(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::Std.CharTraits<_CharT> managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::Std.CharTraits<_CharT> managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static CharTraits<_CharT> __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new CharTraits<_CharT>(native.ToPointer(), skipVTables); + } + + internal static CharTraits<_CharT> __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (CharTraits<_CharT>)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static CharTraits<_CharT> __CreateInstance(global::Std.CharTraits.__Internal native, bool skipVTables = false) + { + return new CharTraits<_CharT>(native, skipVTables); + } + + private static void* __CopyValue(global::Std.CharTraits.__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.CharTraits.__Internal), 16); + *(global::Std.CharTraits.__Internal*) ret = native; + return ret.ToPointer(); + } + + private CharTraits(global::Std.CharTraits.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected CharTraits(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } +} + +namespace Std +{ +} + +namespace Std +{ +} + +namespace Std +{ +} + +namespace Std +{ + namespace CompressedPair + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C_S___rep_S2_ + { + [FieldOffset(0)] + internal global::Std.BasicString.Rep.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S1_ + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair___i___N_std_N___1_S_allocator__i + { + [FieldOffset(0)] + internal __IntPtr __value_; + } + } +} + +namespace Std +{ + namespace Allocator + { + [StructLayout(LayoutKind.Explicit, Size = 1)] + public unsafe partial struct __Internal + { + [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__19allocatorIcEC2B8un170006Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctorc__N_std_N___1_S_allocator__C(__IntPtr __instance); + } + } + + public unsafe partial class Allocator<_Tp> : IDisposable + { + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary> NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary>(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::Std.Allocator<_Tp> managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::Std.Allocator<_Tp> managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static Allocator<_Tp> __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new Allocator<_Tp>(native.ToPointer(), skipVTables); + } + + internal static Allocator<_Tp> __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (Allocator<_Tp>)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static Allocator<_Tp> __CreateInstance(global::Std.Allocator.__Internal native, bool skipVTables = false) + { + return new Allocator<_Tp>(native, skipVTables); + } + + private static void* __CopyValue(global::Std.Allocator.__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.Allocator.__Internal), 16); + *(global::Std.Allocator.__Internal*) ret = native; + return ret.ToPointer(); + } + + private Allocator(global::Std.Allocator.__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected Allocator(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public Allocator() + { + var ___Tp = typeof(_Tp); + if (___Tp.IsAssignableFrom(typeof(sbyte))) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.Allocator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + global::Std.Allocator.__Internal.ctorc__N_std_N___1_S_allocator__C(__Instance); + return; + } + throw new ArgumentOutOfRangeException("_Tp", string.Join(", ", new[] { typeof(_Tp).FullName }), "global::Std.Allocator<_Tp> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: ."); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } +} + +namespace Std +{ + namespace BasicString + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C + { + [FieldOffset(0)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C_S___rep_S2_ __r_; + + [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170006Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr ctorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr dtorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Assignc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string __s); + } + + namespace Rep + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C + { + [FieldOffset(0)] + internal global::Std.BasicString.Long.__Internal __l; + + [FieldOffset(0)] + internal global::Std.BasicString.Short.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C __s; + + [FieldOffset(0)] + internal global::Std.BasicString.Raw.__Internal __r; + } + + namespace _0 + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internal + { + [FieldOffset(0)] + internal global::Std.BasicString.Long.__Internal __l; + + [FieldOffset(0)] + internal global::Std.BasicString.Short.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C __s; + + [FieldOffset(0)] + internal global::Std.BasicString.Raw.__Internal __r; + } + + } + + } + + namespace Long + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internal + { + [FieldOffset(0)] + internal __IntPtr __data_; + + [FieldOffset(8)] + internal ulong __size_; + + [FieldOffset(16)] + internal ulong __cap_; + + [FieldOffset(23)] + internal ulong __is_long_; + } + + } + + namespace Short + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C + { + [FieldOffset(0)] + internal fixed sbyte __data_[23]; + + [FieldOffset(23)] + internal __IntPtr __padding_; + + [FieldOffset(23)] + internal byte __size_; + + [FieldOffset(23)] + internal byte __is_long_; + } + + } + + namespace Raw + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internal + { + [FieldOffset(0)] + internal fixed ulong __words[3]; + } + } + + } + + public unsafe partial class BasicString<_CharT, _Traits, _Allocator> : IDisposable + { + public __IntPtr __Instance { get; protected set; } + + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary> NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary>(); + + internal static void __RecordNativeToManagedMapping(IntPtr native, global::Std.BasicString<_CharT, _Traits, _Allocator> managed) + { + NativeToManagedMap[native] = managed; + } + + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::Std.BasicString<_CharT, _Traits, _Allocator> managed) + { + + return NativeToManagedMap.TryGetValue(native, out managed); + } + + protected bool __ownsNativeInstance; + + internal static BasicString<_CharT, _Traits, _Allocator> __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new BasicString<_CharT, _Traits, _Allocator>(native.ToPointer(), skipVTables); + } + + internal static BasicString<_CharT, _Traits, _Allocator> __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (BasicString<_CharT, _Traits, _Allocator>)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static BasicString<_CharT, _Traits, _Allocator> __CreateInstance(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C native, bool skipVTables = false) + { + return new BasicString<_CharT, _Traits, _Allocator>(native, skipVTables); + } + + private static void* __CopyValue(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C), 16); + *(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C*) ret = native; + return ret.ToPointer(); + } + + private BasicString(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected BasicString(void* native, bool skipVTables = false) + { + if (native == null) + return; + __Instance = new __IntPtr(native); + } + + public BasicString() + { + var ___CharT = typeof(_CharT); + var ___Traits = typeof(_Traits); + var ___Allocator = typeof(_Allocator); + if (___CharT.IsAssignableFrom(typeof(sbyte)) && ___Traits.IsAssignableFrom(typeof(global::Std.CharTraits)) && ___Allocator.IsAssignableFrom(typeof(global::Std.Allocator))) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C.ctorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(__Instance); + return; + } + throw new ArgumentOutOfRangeException("_CharT, _Traits, _Allocator", string.Join(", ", new[] { typeof(_CharT).FullName, typeof(_Traits).FullName, typeof(_Allocator).FullName }), "global::Std.BasicString<_CharT, _Traits, _Allocator> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: , global::Std.Allocator>."); + } + + public void Dispose() + { + Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); + } + + partial void DisposePartial(bool disposing); + + internal protected virtual void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + { + var ___CharT = typeof(_CharT); + var ___Traits = typeof(_Traits); + var ___Allocator = typeof(_Allocator); + if (___CharT.IsAssignableFrom(typeof(sbyte)) && ___Traits.IsAssignableFrom(typeof(global::Std.CharTraits)) && ___Allocator.IsAssignableFrom(typeof(global::Std.Allocator))) + { + global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C.dtorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(__Instance); + } + throw new ArgumentOutOfRangeException("_CharT, _Traits, _Allocator", string.Join(", ", new[] { typeof(_CharT).FullName, typeof(_Traits).FullName, typeof(_Allocator).FullName }), "global::Std.BasicString<_CharT, _Traits, _Allocator> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: , global::Std.Allocator>."); + } + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe static partial class BasicStringExtensions + { + public partial struct __Internal + { + [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataB8un170006Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Data(__IntPtr __instance); + } + + public static string Data(this global::Std.BasicString, global::Std.Allocator> @this) + { + var __arg0 = @this is null ? __IntPtr.Zero : @this.__Instance; + var ___ret = __Internal.Data(__arg0); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + } +} + +namespace Std +{ + namespace Vector + { + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S1_ __end_cap_; + } + + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector__i___N_std_N___1_S_allocator__i + { + [FieldOffset(0)] + internal __IntPtr __begin_; + + [FieldOffset(8)] + internal __IntPtr __end_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair___i___N_std_N___1_S_allocator__i __end_cap_; + } + } +} + +namespace Std +{ + namespace TreeEndNode + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internal_Ptr + { + [FieldOffset(0)] + internal __IntPtr __left_; + } + } +} + +namespace Std +{ +} diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser-symbols.cpp b/src/CppParser/Bindings/CSharp/i686-apple-darwin/CppSharp.CppParser-symbols.cpp similarity index 100% rename from src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser-symbols.cpp rename to src/CppParser/Bindings/CSharp/i686-apple-darwin/CppSharp.CppParser-symbols.cpp diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin/CppSharp.CppParser.cs similarity index 85% rename from src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs rename to src/CppParser/Bindings/CSharp/i686-apple-darwin/CppSharp.CppParser.cs index c12579c6ca..94adcfcfc8 100644 --- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin/CppSharp.CppParser.cs @@ -7,6 +7,7 @@ using System; using System.Runtime.InteropServices; using System.Security; +using __NativeMemory = global::System.Runtime.InteropServices.NativeMemory; using __CallingConvention = global::System.Runtime.InteropServices.CallingConvention; using __IntPtr = global::System.IntPtr; using System.Runtime.CompilerServices; @@ -62,12 +63,19 @@ public enum ArchType public unsafe partial class NativeLibrary : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public partial struct __Internal { - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C FileName; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.ArchType archType; + + [FieldOffset(16)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Symbols; + + [FieldOffset(28)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Dependencies; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -97,6 +105,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearDependencies(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary11getFileNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFileName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary11setFileNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetFileName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSymbolsCount(__IntPtr __instance); @@ -148,7 +162,7 @@ internal static NativeLibrary __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -169,7 +183,7 @@ protected NativeLibrary(void* native, bool skipVTables = false) public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -177,7 +191,7 @@ public NativeLibrary() public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -202,7 +216,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -238,30 +252,30 @@ public void ClearDependencies() __Internal.ClearDependencies(__Instance); } - public string FileName + public global::CppSharp.Parser.AST.ArchType ArchType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->archType; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + ((__Internal*)__Instance)->archType = value; } } - public global::CppSharp.Parser.AST.ArchType ArchType + public string FileName { get { - return ((__Internal*)__Instance)->archType; + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->archType = value; + __Internal.SetFileName(__Instance, value); } } @@ -286,9 +300,10 @@ public uint DependenciesCount public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -342,7 +357,7 @@ internal static Comment __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -363,7 +378,7 @@ protected Comment(void* native, bool skipVTables = false) public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Comment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -371,7 +386,7 @@ public Comment(global::CppSharp.Parser.AST.CommentKind kind) public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Comment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); @@ -391,7 +406,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -416,9 +431,10 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -457,7 +473,7 @@ internal static BlockContentComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -477,7 +493,7 @@ protected BlockContentComment(void* native, bool skipVTables = false) public BlockContentComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -486,7 +502,7 @@ public BlockContentComment() public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -495,7 +511,7 @@ public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); @@ -509,10 +525,13 @@ public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S0_ Blocks; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11FullCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -563,7 +582,7 @@ internal static FullComment __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -583,7 +602,7 @@ protected FullComment(void* native, bool skipVTables = false) public FullComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -592,7 +611,7 @@ public FullComment() public FullComment(global::CppSharp.Parser.AST.FullComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -612,7 +631,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -649,10 +668,13 @@ public uint BlocksCount public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineContentCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -691,7 +713,7 @@ internal static InlineContentComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -711,7 +733,7 @@ protected InlineContentComment(void* native, bool skipVTables = false) public InlineContentComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -720,7 +742,7 @@ public InlineContentComment() public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -729,7 +751,7 @@ public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); @@ -756,11 +778,16 @@ public bool HasTrailingNewline public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte isWhitespace; + + [FieldOffset(8)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S0_ Content; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ParagraphCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -811,7 +838,7 @@ internal static ParagraphComment __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -831,7 +858,7 @@ protected ParagraphComment(void* native, bool skipVTables = false) public ParagraphComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -840,7 +867,7 @@ public ParagraphComment() public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -860,7 +887,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -910,12 +937,19 @@ public uint ContentCount public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(12)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -945,10 +979,11 @@ public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.Bl public unsafe partial class Argument : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public partial struct __Internal { - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -958,6 +993,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8Argument7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8Argument7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -1004,7 +1045,7 @@ internal static Argument __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1025,7 +1066,7 @@ protected Argument(void* native, bool skipVTables = false) public Argument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1033,7 +1074,7 @@ public Argument() public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1058,7 +1099,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1066,13 +1107,13 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } @@ -1103,7 +1144,7 @@ internal static BlockCommandComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1123,7 +1164,7 @@ protected BlockCommandComment(void* native, bool skipVTables = false) public BlockCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1132,7 +1173,7 @@ public BlockCommandComment() public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -1141,7 +1182,7 @@ public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1161,7 +1202,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1231,14 +1272,25 @@ public uint ArgumentsCount public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(12)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; + + [FieldOffset(28)] internal uint paramIndex; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1284,7 +1336,7 @@ internal static ParamCommandComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1304,7 +1356,7 @@ protected ParamCommandComment(void* native, bool skipVTables = false) public ParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1313,7 +1365,7 @@ public ParamCommandComment() public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1333,7 +1385,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1366,13 +1418,22 @@ public uint ParamIndex public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 36)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(12)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(24)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector__i___N_std_N___1_S_allocator__i Position; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1423,7 +1484,7 @@ internal static TParamCommandComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1443,7 +1504,7 @@ protected TParamCommandComment(void* native, bool skipVTables = false) public TParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1452,7 +1513,7 @@ public TParamCommandComment() public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1472,7 +1533,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1508,11 +1569,14 @@ public uint PositionCount public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + + [FieldOffset(4)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -1522,6 +1586,12 @@ public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.A [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new VerbatimBlockLineComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -1550,7 +1620,7 @@ internal static VerbatimBlockLineComment __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1570,7 +1640,7 @@ protected VerbatimBlockLineComment(void* native, bool skipVTables = false) public VerbatimBlockLineComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1579,7 +1649,7 @@ public VerbatimBlockLineComment() public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1599,7 +1669,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1607,26 +1677,35 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 36)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(12)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(24)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S0_ Lines; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1677,7 +1756,7 @@ internal static VerbatimBlockComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1697,7 +1776,7 @@ protected VerbatimBlockComment(void* native, bool skipVTables = false) public VerbatimBlockComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1706,7 +1785,7 @@ public VerbatimBlockComment() public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1726,7 +1805,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1763,14 +1842,23 @@ public uint LinesCount public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 36)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(12)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -1780,6 +1868,12 @@ public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.Bl [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new VerbatimLineComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -1808,7 +1902,7 @@ internal static VerbatimLineComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1828,7 +1922,7 @@ protected VerbatimLineComment(void* native, bool skipVTables = false) public VerbatimLineComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1837,7 +1931,7 @@ public VerbatimLineComment() public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1857,7 +1951,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1865,26 +1959,35 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; + + [FieldOffset(8)] internal uint commandId; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; + + [FieldOffset(16)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1920,10 +2023,11 @@ public enum RenderKind : uint public unsafe partial class Argument : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public partial struct __Internal { - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -1933,6 +2037,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8Argument7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8Argument7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -1979,7 +2089,7 @@ internal static Argument __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2000,7 +2110,7 @@ protected Argument(void* native, bool skipVTables = false) public Argument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2008,7 +2118,7 @@ public Argument() public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2033,7 +2143,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2041,13 +2151,13 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } @@ -2078,7 +2188,7 @@ internal static InlineCommandComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2098,7 +2208,7 @@ protected InlineCommandComment(void* native, bool skipVTables = false) public InlineCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2107,7 +2217,7 @@ public InlineCommandComment() public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2127,7 +2237,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2191,10 +2301,13 @@ public uint ArgumentsCount public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -2233,7 +2346,7 @@ internal static HTMLTagComment __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -2253,7 +2366,7 @@ protected HTMLTagComment(void* native, bool skipVTables = false) public HTMLTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2262,7 +2375,7 @@ public HTMLTagComment() public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -2271,7 +2384,7 @@ public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); @@ -2285,12 +2398,19 @@ public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C TagName; + + [FieldOffset(20)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S0_ Attributes; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -2311,17 +2431,26 @@ public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HT [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment15clearAttributesEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearAttributes(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment10getTagNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTagName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment10setTagNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTagName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetAttributesCount(__IntPtr __instance); } public unsafe partial class Attribute : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C value; + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(12)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -2331,6 +2460,18 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute8getValueEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetValue(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute8setValueEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetValue(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -2377,7 +2518,7 @@ internal static Attribute __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2398,7 +2539,7 @@ protected Attribute(void* native, bool skipVTables = false) public Attribute() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2406,7 +2547,7 @@ public Attribute() public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2431,7 +2572,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2439,13 +2580,13 @@ public string Name { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + __Internal.SetName(__Instance, value); } } @@ -2453,13 +2594,13 @@ public string Value { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->value)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetValue(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->value), value); + __Internal.SetValue(__Instance, value); } } } @@ -2490,7 +2631,7 @@ internal static HTMLStartTagComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2510,7 +2651,7 @@ protected HTMLStartTagComment(void* native, bool skipVTables = false) public HTMLStartTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2519,7 +2660,7 @@ public HTMLStartTagComment() public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2539,7 +2680,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2569,13 +2710,13 @@ public string TagName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->tagName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetTagName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->tagName), value); + __Internal.SetTagName(__Instance, value); } } @@ -2591,12 +2732,17 @@ public uint AttributesCount public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C TagName; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -2606,6 +2752,12 @@ public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTML [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagComment10getTagNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTagName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagComment10setTagNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTagName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new HTMLEndTagComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -2634,7 +2786,7 @@ internal static HTMLEndTagComment __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2654,7 +2806,7 @@ protected HTMLEndTagComment(void* native, bool skipVTables = false) public HTMLEndTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2663,7 +2815,7 @@ public HTMLEndTagComment() public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2683,7 +2835,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2691,25 +2843,30 @@ public string TagName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->tagName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetTagName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->tagName), value); + __Internal.SetTagName(__Instance, value); } } } public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -2719,6 +2876,12 @@ public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineCont [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new TextComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -2747,7 +2910,7 @@ internal static TextComment __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2767,7 +2930,7 @@ protected TextComment(void* native, bool skipVTables = false) public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TextComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2776,7 +2939,7 @@ public TextComment() public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TextComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2796,7 +2959,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2804,25 +2967,32 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.RawCommentKind kind; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C briefText; + + [FieldOffset(4)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C BriefText; + + [FieldOffset(28)] internal __IntPtr fullCommentBlock; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -2833,6 +3003,18 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBriefText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBriefText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -2879,7 +3061,7 @@ internal static RawComment __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2900,7 +3082,7 @@ protected RawComment(void* native, bool skipVTables = false) public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.RawComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2908,7 +3090,7 @@ public RawComment() public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.RawComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2933,7 +3115,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2950,45 +3132,45 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) } } - public string Text + public global::CppSharp.Parser.AST.FullComment FullCommentBlock { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var __result0 = global::CppSharp.Parser.AST.FullComment.__GetOrCreateInstance(((__Internal*)__Instance)->fullCommentBlock, false); + return __result0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + ((__Internal*)__Instance)->fullCommentBlock = value is null ? __IntPtr.Zero : value.__Instance; } } - public string BriefText + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->briefText)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->briefText), value); + __Internal.SetText(__Instance, value); } } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public string BriefText { get { - var __result0 = global::CppSharp.Parser.AST.FullComment.__GetOrCreateInstance(((__Internal*)__Instance)->fullCommentBlock, false); - return __result0; + var ___ret = __Internal.GetBriefText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->fullCommentBlock = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetBriefText(__Instance, value); } } } @@ -3002,9 +3184,10 @@ namespace Parser { public unsafe partial struct SourceLocation { - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { + [FieldOffset(0)] internal uint ID; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser14SourceLocationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3090,10 +3273,13 @@ public uint ID public unsafe partial class SourceRange : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] @@ -3147,7 +3333,7 @@ internal static SourceRange __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -3168,7 +3354,7 @@ protected SourceRange(void* native, bool skipVTables = false) public SourceRange(global::CppSharp.Parser.SourceRange _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.SourceRange.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); @@ -3176,7 +3362,7 @@ public SourceRange(global::CppSharp.Parser.SourceRange _0) public SourceRange() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.SourceRange.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3196,7 +3382,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3314,10 +3500,13 @@ public enum ExceptionSpecType public unsafe partial class Type : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -3371,7 +3560,7 @@ internal static Type __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -3392,7 +3581,7 @@ protected Type(void* native, bool skipVTables = false) public Type(global::CppSharp.Parser.AST.TypeKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Type.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -3400,7 +3589,7 @@ public Type(global::CppSharp.Parser.AST.TypeKind kind) public Type(global::CppSharp.Parser.AST.Type _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Type.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -3423,7 +3612,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3461,11 +3650,16 @@ public bool IsDependent public unsafe partial class TypeQualifiers : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 3)] + [StructLayout(LayoutKind.Explicit, Size = 3)] public partial struct __Internal { + [FieldOffset(0)] internal byte isConst; + + [FieldOffset(1)] internal byte isVolatile; + + [FieldOffset(2)] internal byte isRestrict; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] @@ -3516,7 +3710,7 @@ internal static TypeQualifiers __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -3537,7 +3731,7 @@ protected TypeQualifiers(void* native, bool skipVTables = false) public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); @@ -3545,7 +3739,7 @@ public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) public TypeQualifiers() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } @@ -3564,7 +3758,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3610,10 +3804,13 @@ public bool IsRestrict public unsafe partial class QualifiedType : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { + [FieldOffset(0)] internal __IntPtr type; + + [FieldOffset(4)] internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3667,7 +3864,7 @@ internal static QualifiedType __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -3688,7 +3885,7 @@ protected QualifiedType(void* native, bool skipVTables = false) public QualifiedType() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3696,7 +3893,7 @@ public QualifiedType() public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); @@ -3716,7 +3913,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3752,11 +3949,16 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7TagTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3792,7 +3994,7 @@ internal static TagType __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -3812,7 +4014,7 @@ protected TagType(void* native, bool skipVTables = false) public TagType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TagType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3821,7 +4023,7 @@ public TagType() public TagType(global::CppSharp.Parser.AST.TagType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TagType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -3847,14 +4049,25 @@ public TagType(global::CppSharp.Parser.AST.TagType _0) public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + + [FieldOffset(20)] internal int size; + + [FieldOffset(24)] internal int elementSize; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3898,7 +4111,7 @@ internal static ArrayType __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -3918,7 +4131,7 @@ protected ArrayType(void* native, bool skipVTables = false) public ArrayType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3927,7 +4140,7 @@ public ArrayType() public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -3993,14 +4206,25 @@ public int ElementSize public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 36)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(24)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4051,7 +4275,7 @@ internal static FunctionType __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4071,7 +4295,7 @@ protected FunctionType(void* native, bool skipVTables = false) public FunctionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4080,7 +4304,7 @@ public FunctionType() public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4100,7 +4324,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -4178,12 +4402,19 @@ public uint ParametersCount public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4227,7 +4458,7 @@ internal static PointerType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4247,7 +4478,7 @@ protected PointerType(void* native, bool skipVTables = false) public PointerType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4256,7 +4487,7 @@ public PointerType() public PointerType(global::CppSharp.Parser.AST.PointerType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4296,11 +4527,16 @@ public PointerType(global::CppSharp.Parser.AST.PointerType _0) public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4336,7 +4572,7 @@ internal static MemberPointerType __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4356,7 +4592,7 @@ protected MemberPointerType(void* native, bool skipVTables = false) public MemberPointerType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4365,7 +4601,7 @@ public MemberPointerType() public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4392,11 +4628,16 @@ public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4432,7 +4673,7 @@ internal static TypedefType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4452,7 +4693,7 @@ protected TypedefType(void* native, bool skipVTables = false) public TypedefType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4461,7 +4702,7 @@ public TypedefType() public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4487,12 +4728,19 @@ public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4528,7 +4776,7 @@ internal static AttributedType __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4548,7 +4796,7 @@ protected AttributedType(void* native, bool skipVTables = false) public AttributedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4557,7 +4805,7 @@ public AttributedType() public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4599,13 +4847,22 @@ public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4641,7 +4898,7 @@ internal static DecayedType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4661,7 +4918,7 @@ protected DecayedType(void* native, bool skipVTables = false) public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4670,7 +4927,7 @@ public DecayedType() public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4727,12 +4984,19 @@ public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) public unsafe partial class TemplateArgument : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + + [FieldOffset(4)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(12)] internal __IntPtr declaration; + + [FieldOffset(16)] internal int integral; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4798,7 +5062,7 @@ internal static TemplateArgument __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -4819,7 +5083,7 @@ protected TemplateArgument(void* native, bool skipVTables = false) public TemplateArgument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4827,7 +5091,7 @@ public TemplateArgument() public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); @@ -4847,7 +5111,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -4909,13 +5173,22 @@ public int Integral public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(20)] internal __IntPtr _template; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4966,7 +5239,7 @@ internal static TemplateSpecializationType __CreateInstance(__Internal native, b private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4986,7 +5259,7 @@ protected TemplateSpecializationType(void* native, bool skipVTables = false) public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4995,7 +5268,7 @@ public TemplateSpecializationType() public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5015,7 +5288,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5080,12 +5353,19 @@ public uint ArgumentsCount public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5136,7 +5416,7 @@ internal static DependentTemplateSpecializationType __CreateInstance(__Internal private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5156,7 +5436,7 @@ protected DependentTemplateSpecializationType(void* native, bool skipVTables = f public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5165,7 +5445,7 @@ public DependentTemplateSpecializationType() public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5185,7 +5465,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5236,14 +5516,25 @@ public uint ArgumentsCount public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr parameter; + + [FieldOffset(12)] internal uint depth; + + [FieldOffset(16)] internal uint index; + + [FieldOffset(20)] internal byte isParameterPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5282,7 +5573,7 @@ internal static TemplateParameterType __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5302,7 +5593,7 @@ protected TemplateParameterType(void* native, bool skipVTables = false) public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5311,7 +5602,7 @@ public TemplateParameterType() public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5331,7 +5622,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5391,12 +5682,19 @@ public bool IsParameterPack public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + + [FieldOffset(16)] internal __IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5432,7 +5730,7 @@ internal static TemplateParameterSubstitutionType __CreateInstance(__Internal na private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5452,7 +5750,7 @@ protected TemplateParameterSubstitutionType(void* native, bool skipVTables = fal public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5461,7 +5759,7 @@ public TemplateParameterSubstitutionType() public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5502,12 +5800,19 @@ public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplatePar public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + + [FieldOffset(16)] internal __IntPtr _class; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5543,7 +5848,7 @@ internal static InjectedClassNameType __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5563,7 +5868,7 @@ protected InjectedClassNameType(void* native, bool skipVTables = false) public InjectedClassNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5572,7 +5877,7 @@ public InjectedClassNameType() public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5613,13 +5918,20 @@ public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _ public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C identifier; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Identifier; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -5629,6 +5941,12 @@ public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameType13getIdentifierEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetIdentifier(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameType13setIdentifierEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetIdentifier(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new DependentNameType __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -5657,7 +5975,7 @@ internal static DependentNameType __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5677,7 +5995,7 @@ protected DependentNameType(void* native, bool skipVTables = false) public DependentNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5686,7 +6004,7 @@ public DependentNameType() public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5706,7 +6024,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5729,23 +6047,26 @@ public string Identifier { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->identifier)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetIdentifier(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->identifier), value); + __Internal.SetIdentifier(__Instance, value); } } } public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5781,7 +6102,7 @@ internal static PackExpansionType __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5801,7 +6122,7 @@ protected PackExpansionType(void* native, bool skipVTables = false) public PackExpansionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5810,7 +6131,7 @@ public PackExpansionType() public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5822,12 +6143,19 @@ public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5863,7 +6191,7 @@ internal static UnaryTransformType __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5883,7 +6211,7 @@ protected UnaryTransformType(void* native, bool skipVTables = false) public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5892,7 +6220,7 @@ public UnaryTransformType() public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5934,11 +6262,16 @@ public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) public unsafe partial class UnresolvedUsingType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19UnresolvedUsingTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5974,7 +6307,7 @@ internal static UnresolvedUsingType __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5994,7 +6327,7 @@ protected UnresolvedUsingType(void* native, bool skipVTables = false) public UnresolvedUsingType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -6003,7 +6336,7 @@ public UnresolvedUsingType() public UnresolvedUsingType(global::CppSharp.Parser.AST.UnresolvedUsingType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6029,12 +6362,19 @@ public UnresolvedUsingType(global::CppSharp.Parser.AST.UnresolvedUsingType _0) public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; + + [FieldOffset(16)] internal uint numElements; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -6070,7 +6410,7 @@ internal static VectorType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -6090,7 +6430,7 @@ protected VectorType(void* native, bool skipVTables = false) public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VectorType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -6099,7 +6439,7 @@ public VectorType() public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VectorType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6139,11 +6479,16 @@ public uint NumElements public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -6179,7 +6524,7 @@ internal static BuiltinType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -6199,7 +6544,7 @@ protected BuiltinType(void* native, bool skipVTables = false) public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -6208,7 +6553,7 @@ public BuiltinType() public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6440,30 +6785,73 @@ public enum VTableComponentKind public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 116)] + [StructLayout(LayoutKind.Explicit, Size = 116)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -6493,6 +6881,24 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearRedeclarations(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration6getUSREv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetUSR(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration6setUSREPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetUSR(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetDebugText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetDebugText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetPreprocessedEntitiesCount(__IntPtr __instance); @@ -6544,7 +6950,7 @@ internal static Declaration __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -6565,7 +6971,7 @@ protected Declaration(void* native, bool skipVTables = false) public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Declaration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -6573,7 +6979,7 @@ public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Declaration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6598,7 +7004,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -6754,164 +7160,164 @@ public int LineNumberEnd } } - public string Name + public bool IsIncomplete { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isIncomplete != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + ((__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); } } - public string USR + public bool IsDependent { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->USR)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isDependent != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->USR), value); + ((__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } - public string DebugText + public bool IsImplicit { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->debugText)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isImplicit != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->debugText), value); + ((__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); } } - public bool IsIncomplete + public bool IsInvalid { get { - return ((__Internal*)__Instance)->isIncomplete != 0; + return ((__Internal*)__Instance)->isInvalid != 0; } set { - ((__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); } } - public bool IsDependent + public bool IsDeprecated { get { - return ((__Internal*)__Instance)->isDependent != 0; + return ((__Internal*)__Instance)->isDeprecated != 0; } set { - ((__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->isDeprecated = (byte) (value ? 1 : 0); } } - public bool IsImplicit + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { get { - return ((__Internal*)__Instance)->isImplicit != 0; + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->completeDeclaration, false); + return __result0; } set { - ((__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->completeDeclaration = value is null ? __IntPtr.Zero : value.__Instance; } } - public bool IsInvalid + public uint DefinitionOrder { get { - return ((__Internal*)__Instance)->isInvalid != 0; + return ((__Internal*)__Instance)->definitionOrder; } set { - ((__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->definitionOrder = value; } } - public bool IsDeprecated + public __IntPtr OriginalPtr { get { - return ((__Internal*)__Instance)->isDeprecated != 0; + return ((__Internal*)__Instance)->originalPtr; } set { - ((__Internal*)__Instance)->isDeprecated = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->originalPtr = (__IntPtr) value; } } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + public global::CppSharp.Parser.AST.RawComment Comment { get { - var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->completeDeclaration, false); + var __result0 = global::CppSharp.Parser.AST.RawComment.__GetOrCreateInstance(((__Internal*)__Instance)->comment, false); return __result0; } set { - ((__Internal*)__Instance)->completeDeclaration = value is null ? __IntPtr.Zero : value.__Instance; + ((__Internal*)__Instance)->comment = value is null ? __IntPtr.Zero : value.__Instance; } } - public uint DefinitionOrder + public string Name { get { - return ((__Internal*)__Instance)->definitionOrder; + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->definitionOrder = value; + __Internal.SetName(__Instance, value); } } - public __IntPtr OriginalPtr + public string USR { get { - return ((__Internal*)__Instance)->originalPtr; + var ___ret = __Internal.GetUSR(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->originalPtr = (__IntPtr) value; + __Internal.SetUSR(__Instance, value); } } - public global::CppSharp.Parser.AST.RawComment Comment + public string DebugText { get { - var __result0 = global::CppSharp.Parser.AST.RawComment.__GetOrCreateInstance(((__Internal*)__Instance)->comment, false); - return __result0; + var ___ret = __Internal.GetDebugText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->comment = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetDebugText(__Instance, value); } } @@ -6936,41 +7342,106 @@ public uint RedeclarationsCount public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(128)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(140)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(152)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(164)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(176)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(188)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(212)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(224)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(236)] internal byte isAnonymous; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -7117,7 +7588,7 @@ internal static DeclarationContext __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7137,7 +7608,7 @@ protected DeclarationContext(void* native, bool skipVTables = false) public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -7146,7 +7617,7 @@ public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7166,7 +7637,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7461,31 +7932,76 @@ public uint FriendsCount public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 124)] + [StructLayout(LayoutKind.Explicit, Size = 124)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -7524,7 +8040,7 @@ internal static TypedefNameDecl __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7544,7 +8060,7 @@ protected TypedefNameDecl(void* native, bool skipVTables = false) public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -7553,7 +8069,7 @@ public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7573,7 +8089,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7600,31 +8116,76 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 124)] + [StructLayout(LayoutKind.Explicit, Size = 124)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -7663,7 +8224,7 @@ internal static TypedefDecl __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7683,7 +8244,7 @@ protected TypedefDecl(void* native, bool skipVTables = false) public TypedefDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -7692,7 +8253,7 @@ public TypedefDecl() public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7712,39 +8273,86 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(124)] internal __IntPtr describedAliasTemplate; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -7783,7 +8391,7 @@ internal static TypeAlias __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7803,7 +8411,7 @@ protected TypeAlias(void* native, bool skipVTables = false) public TypeAlias() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -7812,7 +8420,7 @@ public TypeAlias() public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7832,7 +8440,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7853,31 +8461,76 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6FriendC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -7916,7 +8569,7 @@ internal static Friend __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7936,7 +8589,7 @@ protected Friend(void* native, bool skipVTables = false) public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Friend.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -7945,7 +8598,7 @@ public Friend() public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Friend.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7965,7 +8618,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7986,21 +8639,29 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class StatementObsolete : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(4)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_22StatementClassObsoleteEPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, __IntPtr decl); + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsoleteD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsolete9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsolete9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -8047,7 +8708,7 @@ internal static StatementObsolete __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.StatementObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8066,22 +8727,9 @@ protected StatementObsolete(void* native, bool skipVTables = false) __Instance = new __IntPtr(native); } - public StatementObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, Class, __arg2); - __basicString0.Dispose(); - } - public StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8106,7 +8754,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8141,28 +8789,30 @@ public string String { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->@string)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->@string), value); + __Internal.SetString(__Instance, value); } } } public unsafe partial class ExpressionObsolete : global::CppSharp.Parser.AST.StatementObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(4)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_22StatementClassObsoleteEPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, __IntPtr decl); + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); @@ -8197,7 +8847,7 @@ internal static ExpressionObsolete __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ExpressionObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8214,24 +8864,10 @@ protected ExpressionObsolete(void* native, bool skipVTables = false) { } - public ExpressionObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, Class, __arg2); - __basicString0.Dispose(); - } - public ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8251,31 +8887,45 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class BinaryOperatorObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(4)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(20)] internal __IntPtr LHS; + + [FieldOffset(24)] internal __IntPtr RHS; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C opcodeStr; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_18ExpressionObsoleteESD_SB_", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, __IntPtr lhs, __IntPtr rhs, __IntPtr opcodeStr); + [FieldOffset(28)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C OpcodeStr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsolete12getOpcodeStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetOpcodeStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsolete12setOpcodeStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetOpcodeStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new BinaryOperatorObsolete __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -8304,7 +8954,7 @@ internal static BinaryOperatorObsolete __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8321,29 +8971,10 @@ protected BinaryOperatorObsolete(void* native, bool skipVTables = false) { } - public BinaryOperatorObsolete(string str, global::CppSharp.Parser.AST.ExpressionObsolete lhs, global::CppSharp.Parser.AST.ExpressionObsolete rhs, string opcodeStr) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = lhs is null ? __IntPtr.Zero : lhs.__Instance; - var __arg2 = rhs is null ? __IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor(__Instance, __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(); - __basicString3.Dispose(); - } - public BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8363,7 +8994,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8399,29 +9030,33 @@ public string OpcodeStr { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->opcodeStr)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetOpcodeStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->opcodeStr), value); + __Internal.SetOpcodeStr(__Instance, value); } } } public unsafe partial class CallExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(4)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ Arguments; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, __IntPtr decl); + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(20)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); @@ -8468,7 +9103,7 @@ internal static CallExprObsolete __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CallExprObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8485,24 +9120,10 @@ protected CallExprObsolete(void* native, bool skipVTables = false) { } - public CallExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, __arg1); - __basicString0.Dispose(); - } - public CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8522,7 +9143,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8559,16 +9180,20 @@ public uint ArgumentsCount public unsafe partial class CXXConstructExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(4)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ Arguments; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, __IntPtr decl); + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(20)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); @@ -8615,7 +9240,7 @@ internal static CXXConstructExprObsolete __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8632,24 +9257,10 @@ protected CXXConstructExprObsolete(void* native, bool skipVTables = false) { } - public CXXConstructExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, __arg1); - __basicString0.Dispose(); - } - public CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8669,7 +9280,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8706,36 +9317,91 @@ public uint ArgumentsCount public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 140)] + [StructLayout(LayoutKind.Explicit, Size = 140)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(124)] internal byte isIndirect; + + [FieldOffset(125)] internal byte hasDefaultValue; + + [FieldOffset(128)] internal uint index; + + [FieldOffset(132)] internal __IntPtr defaultArgument; + + [FieldOffset(136)] internal __IntPtr defaultValue; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -8774,7 +9440,7 @@ internal static Parameter __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8794,7 +9460,7 @@ protected Parameter(void* native, bool skipVTables = false) public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Parameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -8803,7 +9469,7 @@ public Parameter() public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Parameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8823,7 +9489,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8912,61 +9578,166 @@ public uint Index public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 336)] + [StructLayout(LayoutKind.Explicit, Size = 336)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(128)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(140)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(152)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(164)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(176)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(188)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(212)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(224)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(236)] internal byte isAnonymous; + + [FieldOffset(240)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(248)] internal byte isReturnIndirect; + + [FieldOffset(249)] internal byte hasThisReturn; + + [FieldOffset(250)] internal byte isConstExpr; + + [FieldOffset(251)] internal byte isVariadic; + + [FieldOffset(252)] internal byte isInline; + + [FieldOffset(253)] internal byte isPure; + + [FieldOffset(254)] internal byte isDeleted; + + [FieldOffset(255)] internal byte isDefaulted; + + [FieldOffset(256)] internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(260)] internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; + + [FieldOffset(264)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(276)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Signature; + + [FieldOffset(288)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Body; + + [FieldOffset(300)] internal __IntPtr bodyStmt; + + [FieldOffset(304)] internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(308)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(320)] internal __IntPtr specializationInfo; + + [FieldOffset(324)] internal __IntPtr instantiatedFrom; + + [FieldOffset(328)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8FunctionC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -8987,6 +9758,24 @@ public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationCo [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function15clearParametersEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearParameters(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function10getMangledEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMangled(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMangled(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function12getSignatureEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetSignature(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetSignature(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function7getBodyEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBody(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBody(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetParametersCount(__IntPtr __instance); } @@ -9017,7 +9806,7 @@ internal static Function __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9037,7 +9826,7 @@ protected Function(void* native, bool skipVTables = false) public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Function.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9046,7 +9835,7 @@ public Function() public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Function.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -9066,7 +9855,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -9236,17 +10025,87 @@ public bool IsDefaulted } } + public global::CppSharp.Parser.AST.Stmt BodyStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->bodyStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->bodyStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + return ((__Internal*)__Instance)->callingConvention; + } + + set + { + ((__Internal*)__Instance)->callingConvention = value; + } + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + var __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__GetOrCreateInstance(((__Internal*)__Instance)->specializationInfo, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->specializationInfo = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(((__Internal*)__Instance)->instantiatedFrom, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->instantiatedFrom = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + public string Mangled { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->mangled)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetMangled(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->mangled), value); + __Internal.SetMangled(__Instance, value); } } @@ -9254,13 +10113,13 @@ public string Signature { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->signature)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetSignature(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->signature), value); + __Internal.SetSignature(__Instance, value); } } @@ -9268,83 +10127,13 @@ public string Body { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->body)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetBody(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->body), value); - } - } - - public global::CppSharp.Parser.AST.Stmt BodyStmt - { - get - { - var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->bodyStmt, false); - return __result0; - } - - set - { - ((__Internal*)__Instance)->bodyStmt = value is null ? __IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.CallingConvention CallingConvention - { - get - { - return ((__Internal*)__Instance)->callingConvention; - } - - set - { - ((__Internal*)__Instance)->callingConvention = value; - } - } - - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo - { - get - { - var __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__GetOrCreateInstance(((__Internal*)__Instance)->specializationInfo, false); - return __result0; - } - - set - { - ((__Internal*)__Instance)->specializationInfo = value is null ? __IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Function InstantiatedFrom - { - get - { - var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(((__Internal*)__Instance)->instantiatedFrom, false); - return __result0; - } - - set - { - ((__Internal*)__Instance)->instantiatedFrom = value is null ? __IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); - } - - set - { - if (ReferenceEquals(value, null)) - throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); - ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + __Internal.SetBody(__Instance, value); } } @@ -9360,73 +10149,202 @@ public uint ParametersCount public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 376)] + [StructLayout(LayoutKind.Explicit, Size = 376)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(128)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(140)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(152)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(164)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(176)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(188)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(212)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(224)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(236)] internal byte isAnonymous; + + [FieldOffset(240)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(248)] internal byte isReturnIndirect; + + [FieldOffset(249)] internal byte hasThisReturn; + + [FieldOffset(250)] internal byte isConstExpr; + + [FieldOffset(251)] internal byte isVariadic; + + [FieldOffset(252)] internal byte isInline; + + [FieldOffset(253)] internal byte isPure; + + [FieldOffset(254)] internal byte isDeleted; + + [FieldOffset(255)] internal byte isDefaulted; + + [FieldOffset(256)] internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(260)] internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; + + [FieldOffset(264)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(276)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Signature; + + [FieldOffset(288)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Body; + + [FieldOffset(300)] internal __IntPtr bodyStmt; + + [FieldOffset(304)] internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(308)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(320)] internal __IntPtr specializationInfo; + + [FieldOffset(324)] internal __IntPtr instantiatedFrom; + + [FieldOffset(328)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(336)] internal byte isVirtual; + + [FieldOffset(337)] internal byte isStatic; + + [FieldOffset(338)] internal byte isConst; + + [FieldOffset(339)] internal byte isExplicit; + + [FieldOffset(340)] internal byte isVolatile; + + [FieldOffset(344)] internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + + [FieldOffset(348)] internal byte isDefaultConstructor; + + [FieldOffset(349)] internal byte isCopyConstructor; + + [FieldOffset(350)] internal byte isMoveConstructor; + + [FieldOffset(352)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(360)] internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(364)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ OverriddenMethods; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6MethodC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -9477,7 +10395,7 @@ internal static Method __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9497,7 +10415,7 @@ protected Method(void* native, bool skipVTables = false) public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Method.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9506,7 +10424,7 @@ public Method() public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Method.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -9526,7 +10444,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -9708,45 +10626,118 @@ public uint OverriddenMethodsCount public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 264)] + [StructLayout(LayoutKind.Explicit, Size = 264)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(128)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(140)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(152)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(164)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(176)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(188)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(212)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(224)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(236)] internal byte isAnonymous; + + [FieldOffset(240)] internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(244)] internal __IntPtr type; + + [FieldOffset(248)] internal __IntPtr builtinType; + + [FieldOffset(252)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S0_ Items; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11EnumerationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -9767,9 +10758,6 @@ public unsafe partial class Enumeration : global::CppSharp.Parser.AST.Declaratio [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearItems(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindItemByName(__IntPtr __instance, __IntPtr Name); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetItemsCount(__IntPtr __instance); } @@ -9784,32 +10772,79 @@ public enum EnumModifiers public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; + + [FieldOffset(116)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Expression; + + [FieldOffset(128)] internal ulong value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -9820,6 +10855,12 @@ public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDis [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetExpression(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetExpression(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new Item __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -9848,7 +10889,7 @@ internal static Item __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9868,7 +10909,7 @@ protected Item(void* native, bool skipVTables = false) public Item() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9877,7 +10918,7 @@ public Item() public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -9897,34 +10938,34 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string Expression + public ulong Value { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->expression)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->value; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->expression), value); + ((__Internal*)__Instance)->value = value; } } - public ulong Value + public string Expression { get { - return ((__Internal*)__Instance)->value; + var ___ret = __Internal.GetExpression(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->value = value; + __Internal.SetExpression(__Instance, value); } } } @@ -9955,7 +10996,7 @@ internal static Enumeration __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9975,7 +11016,7 @@ protected Enumeration(void* native, bool skipVTables = false) public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9984,7 +11025,7 @@ public Enumeration() public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10004,7 +11045,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10029,17 +11070,6 @@ public void ClearItems() __Internal.ClearItems(__Instance); } - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindItemByName(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__GetOrCreateInstance(___ret, false); - return __result0; - } - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get @@ -10093,34 +11123,85 @@ public uint ItemsCount public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal byte isConstExpr; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(120)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(132)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(140)] internal __IntPtr initializer; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8VariableC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10131,6 +11212,12 @@ public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8VariableD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Variable10getMangledEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMangled(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMangled(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new Variable __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -10159,7 +11246,7 @@ internal static Variable __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10179,7 +11266,7 @@ protected Variable(void* native, bool skipVTables = false) public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Variable.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10188,7 +11275,7 @@ public Variable() public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Variable.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10208,7 +11295,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10225,58 +11312,65 @@ public bool IsConstExpr } } - public string Mangled + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->mangled)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->mangled), value); + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.ExpressionObsolete Initializer { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(((__Internal*)__Instance)->initializer, false); + return __result0; } set { - if (ReferenceEquals(value, null)) - throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); - ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((__Internal*)__Instance)->initializer = value is null ? __IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ExpressionObsolete Initializer + public string Mangled { get { - var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(((__Internal*)__Instance)->initializer, false); - return __result0; + var ___ret = __Internal.GetMangled(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->initializer = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetMangled(__Instance, value); } } } public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(4)] internal byte isVirtual; + + [FieldOffset(8)] internal __IntPtr type; + + [FieldOffset(12)] internal int offset; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10330,7 +11424,7 @@ internal static BaseClassSpecifier __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -10351,7 +11445,7 @@ protected BaseClassSpecifier(void* native, bool skipVTables = false) public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10359,7 +11453,7 @@ public BaseClassSpecifier() public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); @@ -10379,7 +11473,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10439,34 +11533,85 @@ public int Offset public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(124)] internal __IntPtr _class; + + [FieldOffset(128)] internal byte isBitField; + + [FieldOffset(132)] internal uint bitWidth; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5FieldC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10505,7 +11650,7 @@ internal static Field __CreateInstance(__Internal native, bool skipVTables = fal private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10525,7 +11670,7 @@ protected Field(void* native, bool skipVTables = false) public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Field.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10534,7 +11679,7 @@ public Field() public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Field.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10554,7 +11699,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10616,30 +11761,73 @@ public uint BitWidth public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 116)] + [StructLayout(LayoutKind.Explicit, Size = 116)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10678,7 +11866,7 @@ internal static AccessSpecifierDecl __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10698,7 +11886,7 @@ protected AccessSpecifierDecl(void* native, bool skipVTables = false) public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10707,7 +11895,7 @@ public AccessSpecifierDecl() public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10727,18 +11915,23 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class VTableComponent : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.VTableComponentKind kind; + + [FieldOffset(4)] internal uint offset; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10792,7 +11985,7 @@ internal static VTableComponent __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -10813,7 +12006,7 @@ protected VTableComponent(void* native, bool skipVTables = false) public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10821,7 +12014,7 @@ public VTableComponent() public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); @@ -10841,7 +12034,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10888,9 +12081,10 @@ public uint Offset public unsafe partial class VTableLayout : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S0_ Components; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10959,7 +12153,7 @@ internal static VTableLayout __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10980,7 +12174,7 @@ protected VTableLayout(void* native, bool skipVTables = false) public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10988,7 +12182,7 @@ public VTableLayout() public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -11013,7 +12207,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11049,12 +12243,19 @@ public uint ComponentsCount public unsafe partial class VFTableInfo : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public partial struct __Internal { + [FieldOffset(0)] internal ulong VBTableIndex; + + [FieldOffset(8)] internal uint VFPtrOffset; + + [FieldOffset(12)] internal uint VFPtrFullOffset; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11111,7 +12312,7 @@ internal static VFTableInfo __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11132,7 +12333,7 @@ protected VFTableInfo(void* native, bool skipVTables = false) public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11140,7 +12341,7 @@ public VFTableInfo() public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -11165,7 +12366,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11226,12 +12427,19 @@ public uint VFPtrFullOffset public unsafe partial class LayoutField : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public partial struct __Internal { + [FieldOffset(0)] internal uint offset; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(4)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(24)] internal __IntPtr fieldPtr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11242,6 +12450,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutField7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutField7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -11288,7 +12502,7 @@ internal static LayoutField __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11309,7 +12523,7 @@ protected LayoutField(void* native, bool skipVTables = false) public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11317,7 +12531,7 @@ public LayoutField() public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(other, null)) @@ -11342,7 +12556,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11359,55 +12573,58 @@ public uint Offset } } - public string Name + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public __IntPtr FieldPtr { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + return ((__Internal*)__Instance)->fieldPtr; } set { - if (ReferenceEquals(value, null)) - throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); - ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((__Internal*)__Instance)->fieldPtr = (__IntPtr) value; } } - public __IntPtr FieldPtr + public string Name { get { - return ((__Internal*)__Instance)->fieldPtr; + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->fieldPtr = (__IntPtr) value; + __Internal.SetName(__Instance, value); } } } public unsafe partial class LayoutBase : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { + [FieldOffset(0)] internal uint offset; + + [FieldOffset(4)] internal __IntPtr _class; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11464,7 +12681,7 @@ internal static LayoutBase __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11485,7 +12702,7 @@ protected LayoutBase(void* native, bool skipVTables = false) public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11493,7 +12710,7 @@ public LayoutBase() public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(other, null)) @@ -11518,7 +12735,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11552,19 +12769,40 @@ public uint Offset public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 76)] + [StructLayout(LayoutKind.Explicit, Size = 76)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CppAbi ABI; + + [FieldOffset(4)] internal global::CppSharp.Parser.AST.RecordArgABI argABI; + + [FieldOffset(8)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S0_ VFTables; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + + [FieldOffset(32)] internal byte hasOwnVFPtr; + + [FieldOffset(36)] internal int VBPtrOffset; + + [FieldOffset(40)] internal int alignment; + + [FieldOffset(44)] internal int size; + + [FieldOffset(48)] internal int dataSize; + + [FieldOffset(52)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(64)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S0_ Bases; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11657,7 +12895,7 @@ internal static ClassLayout __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11678,7 +12916,7 @@ protected ClassLayout(void* native, bool skipVTables = false) public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11686,7 +12924,7 @@ public ClassLayout() public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -11711,7 +12949,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11917,57 +13155,154 @@ public uint BasesCount public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 308)] + [StructLayout(LayoutKind.Explicit, Size = 308)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(128)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(140)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(152)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(164)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(176)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(188)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(212)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(224)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(236)] internal byte isAnonymous; + + [FieldOffset(240)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + + [FieldOffset(252)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(264)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + + [FieldOffset(276)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + + [FieldOffset(288)] internal byte isPOD; + + [FieldOffset(289)] internal byte isAbstract; + + [FieldOffset(290)] internal byte isUnion; + + [FieldOffset(291)] internal byte isDynamic; + + [FieldOffset(292)] internal byte isPolymorphic; + + [FieldOffset(293)] internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(294)] internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(295)] internal byte hasNonTrivialDestructor; + + [FieldOffset(296)] internal byte isExternCContext; + + [FieldOffset(297)] internal byte isInjected; + + [FieldOffset(300)] internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(304)] internal __IntPtr layout; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5ClassC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -12054,7 +13389,7 @@ internal static Class __CreateInstance(__Internal native, bool skipVTables = fal private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12074,7 +13409,7 @@ protected Class(void* native, bool skipVTables = false) public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Class.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12083,7 +13418,7 @@ public Class() public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Class.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12103,7 +13438,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -12387,32 +13722,79 @@ public uint SpecifiersCount public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 132)] + [StructLayout(LayoutKind.Explicit, Size = 132)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal __IntPtr TemplatedDecl; + + [FieldOffset(120)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -12466,7 +13848,7 @@ internal static Template __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12486,7 +13868,7 @@ protected Template(void* native, bool skipVTables = false) public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -12495,7 +13877,7 @@ public Template(global::CppSharp.Parser.AST.DeclarationKind kind) public Template() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12504,7 +13886,7 @@ public Template() public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12524,7 +13906,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -12580,32 +13962,79 @@ public uint ParametersCount public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 132)] + [StructLayout(LayoutKind.Explicit, Size = 132)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal __IntPtr TemplatedDecl; + + [FieldOffset(120)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -12644,7 +14073,7 @@ internal static TypeAliasTemplate __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12664,7 +14093,7 @@ protected TypeAliasTemplate(void* native, bool skipVTables = false) public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12673,7 +14102,7 @@ public TypeAliasTemplate() public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12693,40 +14122,89 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal uint depth; + + [FieldOffset(120)] internal uint index; + + [FieldOffset(124)] internal byte isParameterPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -12765,7 +14243,7 @@ internal static TemplateParameter __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12785,7 +14263,7 @@ protected TemplateParameter(void* native, bool skipVTables = false) public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -12794,7 +14272,7 @@ public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12814,7 +14292,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -12865,35 +14343,88 @@ public bool IsParameterPack public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal __IntPtr TemplatedDecl; + + [FieldOffset(120)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(132)] internal byte isParameterPack; + + [FieldOffset(133)] internal byte isPackExpansion; + + [FieldOffset(134)] internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -12932,7 +14463,7 @@ internal static TemplateTemplateParameter __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12952,7 +14483,7 @@ protected TemplateTemplateParameter(void* native, bool skipVTables = false) public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12961,7 +14492,7 @@ public TemplateTemplateParameter() public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12981,7 +14512,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13027,34 +14558,85 @@ public bool IsExpandedParameterPack public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal uint depth; + + [FieldOffset(120)] internal uint index; + + [FieldOffset(124)] internal byte isParameterPack; + + [FieldOffset(128)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13093,7 +14675,7 @@ internal static TypeTemplateParameter __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13113,7 +14695,7 @@ protected TypeTemplateParameter(void* native, bool skipVTables = false) public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13122,7 +14704,7 @@ public TypeTemplateParameter() public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13142,7 +14724,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13164,39 +14746,100 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal uint depth; + + [FieldOffset(120)] internal uint index; + + [FieldOffset(124)] internal byte isParameterPack; + + [FieldOffset(128)] internal __IntPtr defaultArgument; + + [FieldOffset(132)] internal __IntPtr defaultArgumentNew; + + [FieldOffset(136)] internal uint position; + + [FieldOffset(140)] internal byte isPackExpansion; + + [FieldOffset(141)] internal byte isExpandedParameterPack; + + [FieldOffset(144)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13235,7 +14878,7 @@ internal static NonTypeTemplateParameter __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13255,7 +14898,7 @@ protected NonTypeTemplateParameter(void* native, bool skipVTables = false) public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13264,7 +14907,7 @@ public NonTypeTemplateParameter() public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13284,7 +14927,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13373,33 +15016,82 @@ public bool IsExpandedParameterPack public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal __IntPtr TemplatedDecl; + + [FieldOffset(120)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(132)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13420,12 +15112,6 @@ public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearSpecializations(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindSpecialization(__IntPtr __instance, __IntPtr usr); - - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindPartialSpecialization(__IntPtr __instance, __IntPtr usr); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSpecializationsCount(__IntPtr __instance); } @@ -13456,7 +15142,7 @@ internal static ClassTemplate __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13476,7 +15162,7 @@ protected ClassTemplate(void* native, bool skipVTables = false) public ClassTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13485,7 +15171,7 @@ public ClassTemplate() public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13505,7 +15191,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13530,28 +15216,6 @@ public void ClearSpecializations() __Internal.ClearSpecializations(__Instance); } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - - public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindPartialSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - public uint SpecializationsCount { get @@ -13564,60 +15228,163 @@ public uint SpecializationsCount public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 328)] + [StructLayout(LayoutKind.Explicit, Size = 328)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(128)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(140)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(152)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(164)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(176)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(188)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(212)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(224)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(236)] internal byte isAnonymous; + + [FieldOffset(240)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + + [FieldOffset(252)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(264)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + + [FieldOffset(276)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + + [FieldOffset(288)] internal byte isPOD; + + [FieldOffset(289)] internal byte isAbstract; + + [FieldOffset(290)] internal byte isUnion; + + [FieldOffset(291)] internal byte isDynamic; + + [FieldOffset(292)] internal byte isPolymorphic; + + [FieldOffset(293)] internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(294)] internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(295)] internal byte hasNonTrivialDestructor; + + [FieldOffset(296)] internal byte isExternCContext; + + [FieldOffset(297)] internal byte isInjected; + + [FieldOffset(300)] internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(304)] internal __IntPtr layout; + + [FieldOffset(308)] internal __IntPtr templatedDecl; + + [FieldOffset(312)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(324)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13668,7 +15435,7 @@ internal static ClassTemplateSpecialization __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13688,7 +15455,7 @@ protected ClassTemplateSpecialization(void* native, bool skipVTables = false) public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13697,7 +15464,7 @@ public ClassTemplateSpecialization() public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13717,7 +15484,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13780,61 +15547,166 @@ public uint ArgumentsCount public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 340)] + [StructLayout(LayoutKind.Explicit, Size = 340)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(128)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(140)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(152)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(164)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(176)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(188)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(212)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(224)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(236)] internal byte isAnonymous; + + [FieldOffset(240)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + + [FieldOffset(252)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(264)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + + [FieldOffset(276)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + + [FieldOffset(288)] internal byte isPOD; + + [FieldOffset(289)] internal byte isAbstract; + + [FieldOffset(290)] internal byte isUnion; + + [FieldOffset(291)] internal byte isDynamic; + + [FieldOffset(292)] internal byte isPolymorphic; + + [FieldOffset(293)] internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(294)] internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(295)] internal byte hasNonTrivialDestructor; + + [FieldOffset(296)] internal byte isExternCContext; + + [FieldOffset(297)] internal byte isInjected; + + [FieldOffset(300)] internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(304)] internal __IntPtr layout; + + [FieldOffset(308)] internal __IntPtr templatedDecl; + + [FieldOffset(312)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(324)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + + [FieldOffset(328)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13885,7 +15757,7 @@ internal static ClassTemplatePartialSpecialization __CreateInstance(__Internal n private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13905,7 +15777,7 @@ protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = fa public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13914,7 +15786,7 @@ public ClassTemplatePartialSpecialization() public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13934,7 +15806,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13971,33 +15843,82 @@ public uint ParametersCount public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal __IntPtr TemplatedDecl; + + [FieldOffset(120)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(132)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14018,9 +15939,6 @@ public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Templ [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearSpecializations(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindSpecialization(__IntPtr __instance, __IntPtr usr); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSpecializationsCount(__IntPtr __instance); } @@ -14051,7 +15969,7 @@ internal static FunctionTemplate __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14071,7 +15989,7 @@ protected FunctionTemplate(void* native, bool skipVTables = false) public FunctionTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14080,7 +15998,7 @@ public FunctionTemplate() public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14100,7 +16018,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14125,17 +16043,6 @@ public void ClearSpecializations() __Internal.ClearSpecializations(__Instance); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - public uint SpecializationsCount { get @@ -14148,12 +16055,19 @@ public uint SpecializationsCount public unsafe partial class FunctionTemplateSpecialization : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal __IntPtr _template; + + [FieldOffset(4)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(16)] internal __IntPtr specializedFunction; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14222,7 +16136,7 @@ internal static FunctionTemplateSpecialization __CreateInstance(__Internal nativ private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14243,7 +16157,7 @@ protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14251,7 +16165,7 @@ public FunctionTemplateSpecialization() public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14276,7 +16190,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14353,33 +16267,82 @@ public uint ArgumentsCount public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal __IntPtr TemplatedDecl; + + [FieldOffset(120)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(132)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14400,12 +16363,6 @@ public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearSpecializations(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindSpecialization(__IntPtr __instance, __IntPtr usr); - - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindPartialSpecialization(__IntPtr __instance, __IntPtr usr); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSpecializationsCount(__IntPtr __instance); } @@ -14436,7 +16393,7 @@ internal static VarTemplate __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14456,7 +16413,7 @@ protected VarTemplate(void* native, bool skipVTables = false) public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14465,7 +16422,7 @@ public VarTemplate() public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14485,7 +16442,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14510,28 +16467,6 @@ public void ClearSpecializations() __Internal.ClearSpecializations(__Instance); } - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindPartialSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - public uint SpecializationsCount { get @@ -14544,37 +16479,94 @@ public uint SpecializationsCount public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 164)] + [StructLayout(LayoutKind.Explicit, Size = 164)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal byte isConstExpr; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(120)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(132)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(140)] internal __IntPtr initializer; + + [FieldOffset(144)] internal __IntPtr templatedDecl; + + [FieldOffset(148)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(160)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14625,7 +16617,7 @@ internal static VarTemplateSpecialization __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14645,7 +16637,7 @@ protected VarTemplateSpecialization(void* native, bool skipVTables = false) public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14654,7 +16646,7 @@ public VarTemplateSpecialization() public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14674,7 +16666,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14737,37 +16729,94 @@ public uint ArgumentsCount public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 164)] + [StructLayout(LayoutKind.Explicit, Size = 164)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal byte isConstExpr; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(120)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(132)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(140)] internal __IntPtr initializer; + + [FieldOffset(144)] internal __IntPtr templatedDecl; + + [FieldOffset(148)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(160)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14806,7 +16855,7 @@ internal static VarTemplatePartialSpecialization __CreateInstance(__Internal nat private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14826,7 +16875,7 @@ protected VarTemplatePartialSpecialization(void* native, bool skipVTables = fals public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14835,7 +16884,168 @@ public VarTemplatePartialSpecialization() public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class UnresolvedUsingTypename : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 116)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] + internal int lineNumberStart; + + [FieldOffset(28)] + internal int lineNumberEnd; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] + internal byte isIncomplete; + + [FieldOffset(69)] + internal byte isDependent; + + [FieldOffset(70)] + internal byte isImplicit; + + [FieldOffset(71)] + internal byte isInvalid; + + [FieldOffset(72)] + internal byte isDeprecated; + + [FieldOffset(76)] + internal __IntPtr completeDeclaration; + + [FieldOffset(80)] + internal uint definitionOrder; + + [FieldOffset(84)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] + internal __IntPtr originalPtr; + + [FieldOffset(112)] + internal __IntPtr comment; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void dtor(__IntPtr __instance); + } + + internal static new UnresolvedUsingTypename __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new UnresolvedUsingTypename(native.ToPointer(), skipVTables); + } + + internal static new UnresolvedUsingTypename __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (UnresolvedUsingTypename)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static UnresolvedUsingTypename __CreateInstance(__Internal native, bool skipVTables = false) + { + return new UnresolvedUsingTypename(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private UnresolvedUsingTypename(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected UnresolvedUsingTypename(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public UnresolvedUsingTypename() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnresolvedUsingTypename(global::CppSharp.Parser.AST.UnresolvedUsingTypename _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14855,167 +17065,116 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } - public unsafe partial class UnresolvedUsingTypename : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 116)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; - internal int alignAs; - internal int maxFieldAlignment; - internal global::CppSharp.Parser.AST.AccessSpecifier access; - internal __IntPtr _namespace; - internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal int lineNumberStart; - internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - internal byte isIncomplete; - internal byte isDependent; - internal byte isImplicit; - internal byte isInvalid; - internal byte isDeprecated; - internal __IntPtr completeDeclaration; - internal uint definitionOrder; - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - internal __IntPtr originalPtr; - internal __IntPtr comment; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameC2Ev", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance); - - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void cctor(__IntPtr __instance, __IntPtr _0); - - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameD2Ev", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void dtor(__IntPtr __instance); - } - - internal static new UnresolvedUsingTypename __CreateInstance(__IntPtr native, bool skipVTables = false) - { - if (native == __IntPtr.Zero) - return null; - return new UnresolvedUsingTypename(native.ToPointer(), skipVTables); - } + [FieldOffset(4)] + internal int alignAs; - internal static new UnresolvedUsingTypename __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) - { - if (native == __IntPtr.Zero) - return null; - if (__TryGetNativeToManagedMapping(native, out var managed)) - return (UnresolvedUsingTypename)managed; - var result = __CreateInstance(native, skipVTables); - if (saveInstance) - __RecordNativeToManagedMapping(native, result); - return result; - } + [FieldOffset(8)] + internal int maxFieldAlignment; - internal static UnresolvedUsingTypename __CreateInstance(__Internal native, bool skipVTables = false) - { - return new UnresolvedUsingTypename(native, skipVTables); - } + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - private static void* __CopyValue(__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); - global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal.cctor(ret, new __IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(16)] + internal __IntPtr _namespace; - private UnresolvedUsingTypename(__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - } + [FieldOffset(20)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - protected UnresolvedUsingTypename(void* native, bool skipVTables = false) - : base((void*) native) - { - } + [FieldOffset(24)] + internal int lineNumberStart; - public UnresolvedUsingTypename() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - __Internal.ctor(__Instance); - } + [FieldOffset(28)] + internal int lineNumberEnd; - public UnresolvedUsingTypename(global::CppSharp.Parser.AST.UnresolvedUsingTypename _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor(__Instance, __arg0); - } + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; - partial void DisposePartial(bool disposing); + [FieldOffset(44)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal protected override void Dispose(bool disposing, bool callNativeDtor) - { - if (__Instance == IntPtr.Zero) - return; - NativeToManagedMap.TryRemove(__Instance, out _); - DisposePartial(disposing); - if (callNativeDtor) - __Internal.dtor(__Instance); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable - { - [StructLayout(LayoutKind.Sequential, Size = 240)] - public new partial struct __Internal - { - internal global::CppSharp.Parser.AST.DeclarationKind kind; - internal int alignAs; - internal int maxFieldAlignment; - internal global::CppSharp.Parser.AST.AccessSpecifier access; - internal __IntPtr _namespace; - internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal int lineNumberStart; - internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(128)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(140)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(152)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(164)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(176)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(188)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(212)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(224)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(236)] internal byte isAnonymous; + + [FieldOffset(237)] internal byte isInline; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9NamespaceC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15054,7 +17213,7 @@ internal static Namespace __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15074,7 +17233,7 @@ protected Namespace(void* native, bool skipVTables = false) public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Namespace.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15083,7 +17242,7 @@ public Namespace() public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Namespace.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15103,7 +17262,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -15123,11 +17282,16 @@ public bool IsInline public unsafe partial class PreprocessedEntity : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(4)] internal __IntPtr originalPtr; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15181,7 +17345,7 @@ internal static PreprocessedEntity __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -15202,7 +17366,7 @@ protected PreprocessedEntity(void* native, bool skipVTables = false) public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15210,7 +17374,7 @@ public PreprocessedEntity() public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); @@ -15230,7 +17394,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -15276,15 +17440,28 @@ public __IntPtr OriginalPtr public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 44)] + [StructLayout(LayoutKind.Explicit, Size = 44)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(4)] internal __IntPtr originalPtr; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.DeclarationKind kind; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; + + [FieldOffset(12)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Expression; + + [FieldOffset(36)] internal int lineNumberStart; + + [FieldOffset(40)] internal int lineNumberEnd; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15295,6 +17472,18 @@ public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.Prepro [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition13getExpressionEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetExpression(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition13setExpressionEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetExpression(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new MacroDefinition __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -15323,7 +17512,7 @@ internal static MacroDefinition __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15343,7 +17532,7 @@ protected MacroDefinition(void* native, bool skipVTables = false) public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15352,7 +17541,7 @@ public MacroDefinition() public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15372,75 +17561,86 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string Name + public int LineNumberStart { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->lineNumberStart; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + ((__Internal*)__Instance)->lineNumberStart = value; } } - public string Expression + public int LineNumberEnd { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->expression)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->lineNumberEnd; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->expression), value); + ((__Internal*)__Instance)->lineNumberEnd = value; } } - public int LineNumberStart + public string Name { get { - return ((__Internal*)__Instance)->lineNumberStart; + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->lineNumberStart = value; + __Internal.SetName(__Instance, value); } } - public int LineNumberEnd + public string Expression { get { - return ((__Internal*)__Instance)->lineNumberEnd; + var ___ret = __Internal.GetExpression(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->lineNumberEnd = value; + __Internal.SetExpression(__Instance, value); } } } public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(4)] internal __IntPtr originalPtr; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.DeclarationKind kind; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + + [FieldOffset(12)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; + + [FieldOffset(36)] internal __IntPtr definition; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15451,6 +17651,18 @@ public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.Preproc [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new MacroExpansion __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -15479,7 +17691,7 @@ internal static MacroExpansion __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15499,7 +17711,7 @@ protected MacroExpansion(void* native, bool skipVTables = false) public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15508,7 +17720,7 @@ public MacroExpansion() public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15528,94 +17740,167 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string Name + public global::CppSharp.Parser.AST.MacroDefinition Definition { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var __result0 = global::CppSharp.Parser.AST.MacroDefinition.__GetOrCreateInstance(((__Internal*)__Instance)->definition, false); + return __result0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + ((__Internal*)__Instance)->definition = value is null ? __IntPtr.Zero : value.__Instance; } } - public string Text + public string Name { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetName(__Instance, value); } } - public global::CppSharp.Parser.AST.MacroDefinition Definition + public string Text { get { - var __result0 = global::CppSharp.Parser.AST.MacroDefinition.__GetOrCreateInstance(((__Internal*)__Instance)->definition, false); - return __result0; + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->definition = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetText(__Instance, value); } } } public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 268)] + [StructLayout(LayoutKind.Explicit, Size = 268)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(24)] internal int lineNumberStart; + + [FieldOffset(28)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(44)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(68)] internal byte isIncomplete; + + [FieldOffset(69)] internal byte isDependent; + + [FieldOffset(70)] internal byte isImplicit; + + [FieldOffset(71)] internal byte isInvalid; + + [FieldOffset(72)] internal byte isDeprecated; + + [FieldOffset(76)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(108)] internal __IntPtr originalPtr; + + [FieldOffset(112)] internal __IntPtr comment; + + [FieldOffset(116)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(128)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(140)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(152)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(164)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(176)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(188)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(212)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(224)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(236)] internal byte isAnonymous; + + [FieldOffset(237)] internal byte isInline; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; + + [FieldOffset(240)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C FileName; + + [FieldOffset(252)] internal byte isSystemHeader; + + [FieldOffset(256)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S0_ Macros; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15636,6 +17921,12 @@ public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namesp [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearMacros(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11getFileNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFileName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11setFileNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetFileName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetMacrosCount(__IntPtr __instance); } @@ -15666,7 +17957,7 @@ internal static TranslationUnit __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15686,7 +17977,7 @@ protected TranslationUnit(void* native, bool skipVTables = false) public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15695,7 +17986,7 @@ public TranslationUnit() public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15715,7 +18006,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -15740,30 +18031,30 @@ public void ClearMacros() __Internal.ClearMacros(__Instance); } - public string FileName + public bool IsSystemHeader { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isSystemHeader != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + ((__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); } } - public bool IsSystemHeader + public string FileName { get { - return ((__Internal*)__Instance)->isSystemHeader != 0; + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); + __Internal.SetFileName(__Instance, value); } } @@ -15779,9 +18070,10 @@ public uint MacrosCount public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S0_ TranslationUnits; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContextC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15793,9 +18085,6 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContextD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindOrCreateModule(__IntPtr __instance, __IntPtr File); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj", CallingConvention = __CallingConvention.Cdecl)] internal static extern __IntPtr GetTranslationUnits(__IntPtr __instance, uint i); @@ -15853,7 +18142,7 @@ internal static ASTContext __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15874,7 +18163,7 @@ protected ASTContext(void* native, bool skipVTables = false) public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15882,7 +18171,7 @@ public ASTContext() public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15907,21 +18196,10 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindOrCreateModule(__Instance, __arg0); - __basicString0.Dispose(disposing: true, callNativeDtor:false); - var __result0 = global::CppSharp.Parser.AST.TranslationUnit.__GetOrCreateInstance(___ret, false); - return __result0; - } - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) { var ___ret = __Internal.GetTranslationUnits(__Instance, i); @@ -16094,12 +18372,19 @@ public enum StmtClass public unsafe partial class Stmt : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4StmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16156,7 +18441,7 @@ internal static Stmt __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16177,7 +18462,7 @@ protected Stmt(void* native, bool skipVTables = false) public Stmt() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16185,7 +18470,7 @@ public Stmt() public Stmt(global::CppSharp.Parser.AST.StmtClass klass) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -16193,7 +18478,7 @@ public Stmt(global::CppSharp.Parser.AST.StmtClass klass) public Stmt(global::CppSharp.Parser.AST.Stmt _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Stmt.__Internal*) _0.__Instance); @@ -16213,7 +18498,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -16279,15 +18564,28 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class DeclStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ decls; + + [FieldOffset(32)] internal byte isSingleDecl; + + [FieldOffset(36)] internal __IntPtr singleDecl; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8DeclStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16338,7 +18636,7 @@ internal static DeclStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DeclStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -16358,7 +18656,7 @@ protected DeclStmt(void* native, bool skipVTables = false) public DeclStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16367,7 +18665,7 @@ public DeclStmt() public DeclStmt(global::CppSharp.Parser.AST.DeclStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -16387,7 +18685,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -16451,14 +18749,25 @@ public uint GetdeclsCount public unsafe partial class NullStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal semiLoc; + + [FieldOffset(24)] internal byte hasLeadingEmptyMacro; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8NullStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16494,7 +18803,7 @@ internal static NullStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16514,7 +18823,7 @@ protected NullStmt(void* native, bool skipVTables = false) public NullStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16523,7 +18832,7 @@ public NullStmt() public NullStmt(global::CppSharp.Parser.AST.NullStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NullStmt.__Internal*) _0.__Instance); @@ -16558,19 +18867,40 @@ public bool HasLeadingEmptyMacro public unsafe partial class CompoundStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S0_ body; + + [FieldOffset(32)] internal byte body_empty; + + [FieldOffset(36)] internal uint size; + + [FieldOffset(40)] internal __IntPtr body_front; + + [FieldOffset(44)] internal __IntPtr body_back; + + [FieldOffset(48)] internal global::CppSharp.Parser.SourceLocation.__Internal lBracLoc; + + [FieldOffset(52)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CompoundStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16621,7 +18951,7 @@ internal static CompoundStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CompoundStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -16641,7 +18971,7 @@ protected CompoundStmt(void* native, bool skipVTables = false) public CompoundStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16650,7 +18980,7 @@ public CompoundStmt() public CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -16670,7 +19000,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -16787,15 +19117,28 @@ public uint GetbodyCount public unsafe partial class SwitchCase : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(28)] internal __IntPtr subStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SwitchCaseC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16834,7 +19177,7 @@ internal static SwitchCase __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16854,7 +19197,7 @@ protected SwitchCase(void* native, bool skipVTables = false) public SwitchCase() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16863,7 +19206,7 @@ public SwitchCase() public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -16872,7 +19215,7 @@ public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SwitchCase.__Internal*) _0.__Instance); @@ -16926,20 +19269,43 @@ public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) public unsafe partial class CaseStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 52)] + [StructLayout(LayoutKind.Explicit, Size = 52)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(28)] internal __IntPtr subStmt; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal caseLoc; + + [FieldOffset(36)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(40)] internal __IntPtr lHS; + + [FieldOffset(44)] internal __IntPtr rHS; + + [FieldOffset(48)] internal byte caseStmtIsGNURange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CaseStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16975,7 +19341,7 @@ internal static CaseStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16995,7 +19361,7 @@ protected CaseStmt(void* native, bool skipVTables = false) public CaseStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17004,7 +19370,7 @@ public CaseStmt() public CaseStmt(global::CppSharp.Parser.AST.CaseStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CaseStmt.__Internal*) _0.__Instance); @@ -17080,16 +19446,31 @@ public bool CaseStmtIsGNURange public unsafe partial class DefaultStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 36)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(28)] internal __IntPtr subStmt; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DefaultStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17125,7 +19506,7 @@ internal static DefaultStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17145,7 +19526,7 @@ protected DefaultStmt(void* native, bool skipVTables = false) public DefaultStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17154,7 +19535,7 @@ public DefaultStmt() public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) _0.__Instance); @@ -17176,15 +19557,28 @@ public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) public unsafe partial class LabelStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal identLoc; + + [FieldOffset(24)] internal __IntPtr subStmt; + + [FieldOffset(28)] internal __IntPtr name; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9LabelStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17221,7 +19615,7 @@ internal static LabelStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17241,7 +19635,7 @@ protected LabelStmt(void* native, bool skipVTables = false) public LabelStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17250,7 +19644,7 @@ public LabelStmt() public LabelStmt(global::CppSharp.Parser.AST.LabelStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) _0.__Instance); @@ -17313,14 +19707,25 @@ public string Name public unsafe partial class AttributedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal attrLoc; + + [FieldOffset(24)] internal __IntPtr subStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14AttributedStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17356,7 +19761,7 @@ internal static AttributedStmt __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17376,7 +19781,7 @@ protected AttributedStmt(void* native, bool skipVTables = false) public AttributedStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17385,7 +19790,7 @@ public AttributedStmt() public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) _0.__Instance); @@ -17421,24 +19826,55 @@ public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) public unsafe partial class IfStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal __IntPtr cond; + + [FieldOffset(24)] internal __IntPtr then; + + [FieldOffset(28)] internal __IntPtr _else; + + [FieldOffset(32)] internal __IntPtr init; + + [FieldOffset(36)] internal global::CppSharp.Parser.SourceLocation.__Internal ifLoc; + + [FieldOffset(40)] internal global::CppSharp.Parser.SourceLocation.__Internal elseLoc; + + [FieldOffset(44)] internal byte _constexpr; + + [FieldOffset(45)] internal byte hasInitStorage; + + [FieldOffset(46)] internal byte hasVarStorage; + + [FieldOffset(47)] internal byte hasElseStorage; + + [FieldOffset(48)] internal __IntPtr conditionVariableDeclStmt; + + [FieldOffset(52)] internal byte isObjCAvailabilityCheck; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6IfStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17474,7 +19910,7 @@ internal static IfStmt __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17494,7 +19930,7 @@ protected IfStmt(void* native, bool skipVTables = false) public IfStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17503,7 +19939,7 @@ public IfStmt() public IfStmt(global::CppSharp.Parser.AST.IfStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IfStmt.__Internal*) _0.__Instance); @@ -17673,20 +20109,43 @@ public bool IsObjCAvailabilityCheck public unsafe partial class SwitchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal __IntPtr cond; + + [FieldOffset(24)] internal __IntPtr body; + + [FieldOffset(28)] internal __IntPtr init; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal switchLoc; + + [FieldOffset(36)] internal byte hasInitStorage; + + [FieldOffset(37)] internal byte hasVarStorage; + + [FieldOffset(40)] internal __IntPtr conditionVariableDeclStmt; + + [FieldOffset(44)] internal byte isAllEnumCasesCovered; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SwitchStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17722,7 +20181,7 @@ internal static SwitchStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17742,7 +20201,7 @@ protected SwitchStmt(void* native, bool skipVTables = false) public SwitchStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17751,7 +20210,7 @@ public SwitchStmt() public SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) _0.__Instance); @@ -17868,17 +20327,34 @@ public bool IsAllEnumCasesCovered public unsafe partial class WhileStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal __IntPtr cond; + + [FieldOffset(24)] internal __IntPtr body; + + [FieldOffset(28)] internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(32)] internal byte hasVarStorage; + + [FieldOffset(36)] internal __IntPtr conditionVariableDeclStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9WhileStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17914,7 +20390,7 @@ internal static WhileStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17934,7 +20410,7 @@ protected WhileStmt(void* native, bool skipVTables = false) public WhileStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17943,7 +20419,7 @@ public WhileStmt() public WhileStmt(global::CppSharp.Parser.AST.WhileStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.WhileStmt.__Internal*) _0.__Instance); @@ -18020,17 +20496,34 @@ public bool HasVarStorage public unsafe partial class DoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal __IntPtr cond; + + [FieldOffset(24)] internal __IntPtr body; + + [FieldOffset(28)] internal global::CppSharp.Parser.SourceLocation.__Internal doLoc; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(36)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6DoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18066,7 +20559,7 @@ internal static DoStmt __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18086,7 +20579,7 @@ protected DoStmt(void* native, bool skipVTables = false) public DoStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18095,7 +20588,7 @@ public DoStmt() public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DoStmt.__Internal*) _0.__Instance); @@ -18171,20 +20664,43 @@ public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) public unsafe partial class ForStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 52)] + [StructLayout(LayoutKind.Explicit, Size = 52)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal __IntPtr init; + + [FieldOffset(24)] internal __IntPtr cond; + + [FieldOffset(28)] internal __IntPtr inc; + + [FieldOffset(32)] internal __IntPtr body; + + [FieldOffset(36)] internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(40)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(48)] internal __IntPtr conditionVariableDeclStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7ForStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18220,7 +20736,7 @@ internal static ForStmt __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18240,7 +20756,7 @@ protected ForStmt(void* native, bool skipVTables = false) public ForStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18249,7 +20765,7 @@ public ForStmt() public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ForStmt.__Internal*) _0.__Instance); @@ -18367,14 +20883,25 @@ public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) public unsafe partial class GotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8GotoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18410,7 +20937,7 @@ internal static GotoStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18430,7 +20957,7 @@ protected GotoStmt(void* native, bool skipVTables = false) public GotoStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18439,7 +20966,7 @@ public GotoStmt() public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GotoStmt.__Internal*) _0.__Instance); @@ -18474,15 +21001,28 @@ public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) public unsafe partial class IndirectGotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal starLoc; + + [FieldOffset(28)] internal __IntPtr target; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16IndirectGotoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18518,7 +21058,7 @@ internal static IndirectGotoStmt __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18538,7 +21078,7 @@ protected IndirectGotoStmt(void* native, bool skipVTables = false) public IndirectGotoStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18547,7 +21087,7 @@ public IndirectGotoStmt() public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) _0.__Instance); @@ -18596,13 +21136,22 @@ public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) public unsafe partial class ContinueStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal continueLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12ContinueStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18638,7 +21187,7 @@ internal static ContinueStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18658,7 +21207,7 @@ protected ContinueStmt(void* native, bool skipVTables = false) public ContinueStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18667,7 +21216,7 @@ public ContinueStmt() public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) _0.__Instance); @@ -18689,13 +21238,22 @@ public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) public unsafe partial class BreakStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal breakLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9BreakStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18731,7 +21289,7 @@ internal static BreakStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18751,7 +21309,7 @@ protected BreakStmt(void* native, bool skipVTables = false) public BreakStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18760,7 +21318,7 @@ public BreakStmt() public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BreakStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BreakStmt.__Internal*) _0.__Instance); @@ -18782,14 +21340,25 @@ public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) public unsafe partial class ReturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal __IntPtr retValue; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal returnLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ReturnStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18825,7 +21394,7 @@ internal static ReturnStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18845,7 +21414,7 @@ protected ReturnStmt(void* native, bool skipVTables = false) public ReturnStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18854,7 +21423,7 @@ public ReturnStmt() public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) _0.__Instance); @@ -18890,21 +21459,46 @@ public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) public unsafe partial class AsmStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(32)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(48)] internal byte simple; + + [FieldOffset(49)] internal byte _volatile; + + [FieldOffset(52)] internal uint numOutputs; + + [FieldOffset(56)] internal uint numPlusOperands; + + [FieldOffset(60)] internal uint numInputs; + + [FieldOffset(64)] internal uint numClobbers; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18970,7 +21564,7 @@ internal static AsmStmt __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.AsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -18990,7 +21584,7 @@ protected AsmStmt(void* native, bool skipVTables = false) public AsmStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18999,7 +21593,7 @@ public AsmStmt() public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -19008,7 +21602,7 @@ public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) public AsmStmt(global::CppSharp.Parser.AST.AsmStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19028,7 +21622,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19191,22 +21785,49 @@ public uint GetoutputsCount public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(32)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(48)] internal byte simple; + + [FieldOffset(49)] internal byte _volatile; + + [FieldOffset(52)] internal uint numOutputs; + + [FieldOffset(56)] internal uint numPlusOperands; + + [FieldOffset(60)] internal uint numInputs; + + [FieldOffset(64)] internal uint numClobbers; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19221,13 +21842,22 @@ public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, ID public unsafe partial class AsmStringPiece : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal byte isString; + + [FieldOffset(1)] internal byte isOperand; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + + [FieldOffset(4)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(16)] internal uint operandNo; + + [FieldOffset(20)] internal sbyte modifier; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19238,6 +21868,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPiece9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPiece9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public enum Kind @@ -19290,7 +21926,7 @@ internal static AsmStringPiece __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -19311,7 +21947,7 @@ protected AsmStringPiece(void* native, bool skipVTables = false) public AsmStringPiece() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19319,7 +21955,7 @@ public AsmStringPiece() public AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19344,7 +21980,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19374,43 +22010,43 @@ public bool IsOperand } } - public string String + public uint OperandNo { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->@string)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->operandNo; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->@string), value); + ((__Internal*)__Instance)->operandNo = value; } } - public uint OperandNo + public sbyte Modifier { get { - return ((__Internal*)__Instance)->operandNo; + return ((__Internal*)__Instance)->modifier; } set { - ((__Internal*)__Instance)->operandNo = value; + ((__Internal*)__Instance)->modifier = value; } } - public sbyte Modifier + public string String { get { - return ((__Internal*)__Instance)->modifier; + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->modifier = value; + __Internal.SetString(__Instance, value); } } } @@ -19441,7 +22077,7 @@ internal static GCCAsmStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.GCCAsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -19461,7 +22097,7 @@ protected GCCAsmStmt(void* native, bool skipVTables = false) public GCCAsmStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19470,7 +22106,7 @@ public GCCAsmStmt() public GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19490,7 +22126,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19510,26 +22146,59 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 92)] + [StructLayout(LayoutKind.Explicit, Size = 92)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(32)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(48)] internal byte simple; + + [FieldOffset(49)] internal byte _volatile; + + [FieldOffset(52)] internal uint numOutputs; + + [FieldOffset(56)] internal uint numPlusOperands; + + [FieldOffset(60)] internal uint numInputs; + + [FieldOffset(64)] internal uint numClobbers; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(72)] internal byte hasBraces; + + [FieldOffset(76)] internal uint numAsmToks; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C asmString; + + [FieldOffset(80)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C AsmString; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -19539,6 +22208,12 @@ public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDi [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmtD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmt12getAsmStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetAsmString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmt12setAsmStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetAsmString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new MSAsmStmt __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -19567,7 +22242,7 @@ internal static MSAsmStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MSAsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -19587,7 +22262,7 @@ protected MSAsmStmt(void* native, bool skipVTables = false) public MSAsmStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19596,7 +22271,7 @@ public MSAsmStmt() public MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19616,7 +22291,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19663,28 +22338,41 @@ public string AsmString { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->asmString)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetAsmString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->asmString), value); + __Internal.SetAsmString(__Instance, value); } } } public unsafe partial class SEHExceptStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal exceptLoc; + + [FieldOffset(24)] internal __IntPtr filterExpr; + + [FieldOffset(28)] internal __IntPtr block; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13SEHExceptStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19720,7 +22408,7 @@ internal static SEHExceptStmt __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -19740,7 +22428,7 @@ protected SEHExceptStmt(void* native, bool skipVTables = false) public SEHExceptStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19749,7 +22437,7 @@ public SEHExceptStmt() public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) _0.__Instance); @@ -19799,14 +22487,25 @@ public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) public unsafe partial class SEHFinallyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal finallyLoc; + + [FieldOffset(24)] internal __IntPtr block; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14SEHFinallyStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19842,7 +22541,7 @@ internal static SEHFinallyStmt __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -19862,7 +22561,7 @@ protected SEHFinallyStmt(void* native, bool skipVTables = false) public SEHFinallyStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19871,7 +22570,7 @@ public SEHFinallyStmt() public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) _0.__Instance); @@ -19907,18 +22606,37 @@ public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) public unsafe partial class SEHTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 44)] + [StructLayout(LayoutKind.Explicit, Size = 44)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(24)] internal byte isCXXTry; + + [FieldOffset(28)] internal __IntPtr tryBlock; + + [FieldOffset(32)] internal __IntPtr handler; + + [FieldOffset(36)] internal __IntPtr exceptHandler; + + [FieldOffset(40)] internal __IntPtr finallyHandler; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SEHTryStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19954,7 +22672,7 @@ internal static SEHTryStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -19974,7 +22692,7 @@ protected SEHTryStmt(void* native, bool skipVTables = false) public SEHTryStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19983,7 +22701,7 @@ public SEHTryStmt() public SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) _0.__Instance); @@ -20074,13 +22792,22 @@ public bool IsCXXTry public unsafe partial class SEHLeaveStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal leaveLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12SEHLeaveStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20116,7 +22843,7 @@ internal static SEHLeaveStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20136,7 +22863,7 @@ protected SEHLeaveStmt(void* native, bool skipVTables = false) public SEHLeaveStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20145,7 +22872,7 @@ public SEHLeaveStmt() public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) _0.__Instance); @@ -20167,15 +22894,28 @@ public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) public unsafe partial class CapturedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ capture_inits; + + [FieldOffset(32)] internal __IntPtr capturedStmt; + + [FieldOffset(36)] internal uint capture_size; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20210,14 +22950,25 @@ public enum VariableCaptureKind public unsafe partial class Capture : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind captureKind; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(8)] internal byte capturesThis; + + [FieldOffset(9)] internal byte capturesVariable; + + [FieldOffset(10)] internal byte capturesVariableByCopy; + + [FieldOffset(11)] internal byte capturesVariableArrayType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmt7CaptureC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20271,7 +23022,7 @@ internal static Capture __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20292,7 +23043,7 @@ protected Capture(void* native, bool skipVTables = false) public Capture() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20300,7 +23051,7 @@ public Capture() public Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) _0.__Instance); @@ -20320,7 +23071,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -20429,7 +23180,7 @@ internal static CapturedStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CapturedStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -20449,7 +23200,7 @@ protected CapturedStmt(void* native, bool skipVTables = false) public CapturedStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20458,7 +23209,7 @@ public CapturedStmt() public CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -20478,7 +23229,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -20542,15 +23293,28 @@ public uint GetcaptureInitsCount public unsafe partial class CXXCatchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 36)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal catchLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal caughtType; + + [FieldOffset(32)] internal __IntPtr handlerBlock; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CXXCatchStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20586,7 +23350,7 @@ internal static CXXCatchStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20606,7 +23370,7 @@ protected CXXCatchStmt(void* native, bool skipVTables = false) public CXXCatchStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20615,7 +23379,7 @@ public CXXCatchStmt() public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) _0.__Instance); @@ -20666,15 +23430,28 @@ public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) public unsafe partial class CXXTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(24)] internal __IntPtr tryBlock; + + [FieldOffset(28)] internal uint numHandlers; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXTryStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20710,7 +23487,7 @@ internal static CXXTryStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20730,7 +23507,7 @@ protected CXXTryStmt(void* native, bool skipVTables = false) public CXXTryStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20739,7 +23516,7 @@ public CXXTryStmt() public CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) _0.__Instance); @@ -20788,25 +23565,58 @@ public uint NumHandlers public unsafe partial class CXXForRangeStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal __IntPtr init; + + [FieldOffset(24)] internal __IntPtr rangeInit; + + [FieldOffset(28)] internal __IntPtr cond; + + [FieldOffset(32)] internal __IntPtr inc; + + [FieldOffset(36)] internal __IntPtr body; + + [FieldOffset(40)] internal __IntPtr rangeStmt; + + [FieldOffset(44)] internal __IntPtr beginStmt; + + [FieldOffset(48)] internal __IntPtr endStmt; + + [FieldOffset(52)] internal __IntPtr loopVarStmt; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal coawaitLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15CXXForRangeStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20842,7 +23652,7 @@ internal static CXXForRangeStmt __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20862,7 +23672,7 @@ protected CXXForRangeStmt(void* native, bool skipVTables = false) public CXXForRangeStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20871,7 +23681,7 @@ public CXXForRangeStmt() public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) _0.__Instance); @@ -21058,16 +23868,31 @@ public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) public unsafe partial class MSDependentExistsStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal byte isIfExists; + + [FieldOffset(25)] internal byte isIfNotExists; + + [FieldOffset(28)] internal __IntPtr subStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21MSDependentExistsStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21103,7 +23928,7 @@ internal static MSDependentExistsStmt __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21123,7 +23948,7 @@ protected MSDependentExistsStmt(void* native, bool skipVTables = false) public MSDependentExistsStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21132,7 +23957,7 @@ public MSDependentExistsStmt() public MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) _0.__Instance); @@ -21194,25 +24019,58 @@ public bool IsIfNotExists public unsafe partial class CoroutineBodyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal byte hasDependentPromiseType; + + [FieldOffset(24)] internal __IntPtr body; + + [FieldOffset(28)] internal __IntPtr promiseDeclStmt; + + [FieldOffset(32)] internal __IntPtr initSuspendStmt; + + [FieldOffset(36)] internal __IntPtr finalSuspendStmt; + + [FieldOffset(40)] internal __IntPtr exceptionHandler; + + [FieldOffset(44)] internal __IntPtr fallthroughHandler; + + [FieldOffset(48)] internal __IntPtr allocate; + + [FieldOffset(52)] internal __IntPtr deallocate; + + [FieldOffset(56)] internal __IntPtr returnValueInit; + + [FieldOffset(60)] internal __IntPtr resultDecl; + + [FieldOffset(64)] internal __IntPtr returnStmt; + + [FieldOffset(68)] internal __IntPtr returnStmtOnAllocFailure; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CoroutineBodyStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21241,7 +24099,7 @@ public enum SubStmt public unsafe partial class CtorArgs : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CoroutineBodyStmt8CtorArgsC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21295,7 +24153,7 @@ internal static CtorArgs __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21316,7 +24174,7 @@ protected CtorArgs(void* native, bool skipVTables = false) public CtorArgs() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21324,7 +24182,7 @@ public CtorArgs() public CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) _0.__Instance); @@ -21344,7 +24202,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -21375,7 +24233,7 @@ internal static CoroutineBodyStmt __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21395,7 +24253,7 @@ protected CoroutineBodyStmt(void* native, bool skipVTables = false) public CoroutineBodyStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21404,7 +24262,7 @@ public CoroutineBodyStmt() public CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) _0.__Instance); @@ -21594,16 +24452,31 @@ public bool HasDependentPromiseType public unsafe partial class CoreturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 36)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal byte isImplicit; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(28)] internal __IntPtr operand; + + [FieldOffset(32)] internal __IntPtr promiseCall; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CoreturnStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21646,7 +24519,7 @@ internal static CoreturnStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21666,7 +24539,7 @@ protected CoreturnStmt(void* native, bool skipVTables = false) public CoreturnStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21675,7 +24548,7 @@ public CoreturnStmt() public CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) _0.__Instance); @@ -21931,26 +24804,61 @@ public enum UnaryExprOrTypeTrait public unsafe partial class Expr : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4ExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22029,16 +24937,31 @@ public enum NullPointerConstantValueDependence public unsafe partial class Classification : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.Expr.Classification.Kinds kind; + + [FieldOffset(4)] internal global::CppSharp.Parser.AST.Expr.Classification.ModifiableType modifiable; + + [FieldOffset(8)] internal byte isLValue; + + [FieldOffset(9)] internal byte isXValue; + + [FieldOffset(10)] internal byte isGLValue; + + [FieldOffset(11)] internal byte isPRValue; + + [FieldOffset(12)] internal byte isRValue; + + [FieldOffset(13)] internal byte isModifiable; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4Expr14ClassificationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22123,7 +25046,7 @@ internal static Classification __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22144,7 +25067,7 @@ protected Classification(void* native, bool skipVTables = false) public Classification() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22152,7 +25075,7 @@ public Classification() public Classification(global::CppSharp.Parser.AST.Expr.Classification _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) _0.__Instance); @@ -22172,7 +25095,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -22307,7 +25230,7 @@ internal static Expr __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22327,7 +25250,7 @@ protected Expr(void* native, bool skipVTables = false) public Expr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22336,7 +25259,7 @@ public Expr() public Expr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -22345,7 +25268,7 @@ public Expr(global::CppSharp.Parser.AST.StmtClass klass) public Expr(global::CppSharp.Parser.AST.Expr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Expr.__Internal*) _0.__Instance); @@ -22545,27 +25468,64 @@ public bool HasPlaceholderType public unsafe partial class FullExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 60)] + [StructLayout(LayoutKind.Explicit, Size = 60)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8FullExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22604,7 +25564,7 @@ internal static FullExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22624,7 +25584,7 @@ protected FullExpr(void* native, bool skipVTables = false) public FullExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22633,7 +25593,7 @@ public FullExpr() public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -22642,7 +25602,7 @@ public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FullExpr.__Internal*) _0.__Instance); @@ -22670,27 +25630,64 @@ public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) public unsafe partial class ConstantExpr : global::CppSharp.Parser.AST.FullExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 60)] + [StructLayout(LayoutKind.Explicit, Size = 60)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12ConstantExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22726,7 +25723,7 @@ internal static ConstantExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22746,7 +25743,7 @@ protected ConstantExpr(void* native, bool skipVTables = false) public ConstantExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22755,7 +25752,7 @@ public ConstantExpr() public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) _0.__Instance); @@ -22764,29 +25761,70 @@ public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) public unsafe partial class OpaqueValueExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(53)] internal byte isUnique; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(60)] internal __IntPtr sourceExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15OpaqueValueExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22822,7 +25860,7 @@ internal static OpaqueValueExpr __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22842,7 +25880,7 @@ protected OpaqueValueExpr(void* native, bool skipVTables = false) public OpaqueValueExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22851,7 +25889,7 @@ public OpaqueValueExpr() public OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) _0.__Instance); @@ -22900,38 +25938,97 @@ public bool IsUnique public unsafe partial class DeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(60)] internal byte hadMultipleCandidates; + + [FieldOffset(61)] internal byte hasQualifier; + + [FieldOffset(64)] internal __IntPtr foundDecl; + + [FieldOffset(68)] internal byte hasTemplateKWAndArgsInfo; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(84)] internal byte hasTemplateKeyword; + + [FieldOffset(85)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(88)] internal uint numTemplateArgs; + + [FieldOffset(92)] internal byte refersToEnclosingVariableOrCapture; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DeclRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22967,7 +26064,7 @@ internal static DeclRefExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22987,7 +26084,7 @@ protected DeclRefExpr(void* native, bool skipVTables = false) public DeclRefExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22996,7 +26093,7 @@ public DeclRefExpr() public DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) _0.__Instance); @@ -23162,28 +26259,67 @@ public bool RefersToEnclosingVariableOrCapture public unsafe partial class IntegerLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(60)] internal ulong value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14IntegerLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23219,7 +26355,7 @@ internal static IntegerLiteral __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23239,7 +26375,7 @@ protected IntegerLiteral(void* native, bool skipVTables = false) public IntegerLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23248,7 +26384,7 @@ public IntegerLiteral() public IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) _0.__Instance); @@ -23283,28 +26419,67 @@ public ulong Value public unsafe partial class FixedPointLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(60)] internal ulong value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17FixedPointLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23340,7 +26515,7 @@ internal static FixedPointLiteral __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23360,7 +26535,7 @@ protected FixedPointLiteral(void* native, bool skipVTables = false) public FixedPointLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23369,7 +26544,7 @@ public FixedPointLiteral() public FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) _0.__Instance); @@ -23404,29 +26579,70 @@ public ulong Value public unsafe partial class CharacterLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(60)] internal global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind kind; + + [FieldOffset(64)] internal uint value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CharacterLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23471,7 +26687,7 @@ internal static CharacterLiteral __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23491,7 +26707,7 @@ protected CharacterLiteral(void* native, bool skipVTables = false) public CharacterLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23500,7 +26716,7 @@ public CharacterLiteral() public CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) _0.__Instance); @@ -23548,29 +26764,70 @@ public uint Value public unsafe partial class FloatingLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(53)] internal byte exact; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(60)] internal double valueAsApproximateDouble; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15FloatingLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23606,7 +26863,7 @@ internal static FloatingLiteral __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23626,7 +26883,7 @@ protected FloatingLiteral(void* native, bool skipVTables = false) public FloatingLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23635,7 +26892,7 @@ public FloatingLiteral() public FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) _0.__Instance); @@ -23683,27 +26940,64 @@ public double ValueAsApproximateDouble public unsafe partial class ImaginaryLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 60)] + [StructLayout(LayoutKind.Explicit, Size = 60)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ImaginaryLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23739,7 +27033,7 @@ internal static ImaginaryLiteral __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23759,7 +27053,7 @@ protected ImaginaryLiteral(void* native, bool skipVTables = false) public ImaginaryLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23768,7 +27062,7 @@ public ImaginaryLiteral() public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) _0.__Instance); @@ -23791,41 +27085,106 @@ public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 108)] + [StructLayout(LayoutKind.Explicit, Size = 108)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C bytes; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(68)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Bytes; + + [FieldOffset(80)] internal uint byteLength; + + [FieldOffset(84)] internal uint length; + + [FieldOffset(88)] internal uint charByteWidth; + + [FieldOffset(92)] internal global::CppSharp.Parser.AST.StringLiteral.StringKind kind; + + [FieldOffset(96)] internal byte isAscii; + + [FieldOffset(97)] internal byte isWide; + + [FieldOffset(98)] internal byte isUTF8; + + [FieldOffset(99)] internal byte isUTF16; + + [FieldOffset(100)] internal byte isUTF32; + + [FieldOffset(101)] internal byte isPascal; + + [FieldOffset(102)] internal byte containsNonAscii; + + [FieldOffset(103)] internal byte containsNonAsciiOrNull; + + [FieldOffset(104)] internal uint numConcatenated; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23836,6 +27195,18 @@ public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, ID [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteralD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral8getBytesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBytes(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral8setBytesEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBytes(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public enum StringKind @@ -23873,7 +27244,7 @@ internal static StringLiteral __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.StringLiteral.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -23893,7 +27264,7 @@ protected StringLiteral(void* native, bool skipVTables = false) public StringLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23902,7 +27273,7 @@ public StringLiteral() public StringLiteral(global::CppSharp.Parser.AST.StringLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -23922,38 +27293,10 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string String - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->@string)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->@string), value); - } - } - - public string Bytes - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->bytes)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->bytes), value); - } - } - public uint ByteLength { get @@ -24122,32 +27465,99 @@ public uint NumConcatenated ((__Internal*)__Instance)->numConcatenated = value; } } + + public string String + { + get + { + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetString(__Instance, value); + } + } + + public string Bytes + { + get + { + var ___ret = __Internal.GetBytes(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetBytes(__Instance, value); + } + } } public unsafe partial class PredefinedExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(60)] internal global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14PredefinedExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24195,7 +27605,7 @@ internal static PredefinedExpr __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24215,7 +27625,7 @@ protected PredefinedExpr(void* native, bool skipVTables = false) public PredefinedExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24224,7 +27634,7 @@ public PredefinedExpr() public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) _0.__Instance); @@ -24259,29 +27669,70 @@ public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) public unsafe partial class ParenExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr subExpr; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal lParen; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal rParen; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ParenExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24317,7 +27768,7 @@ internal static ParenExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24337,7 +27788,7 @@ protected ParenExpr(void* native, bool skipVTables = false) public ParenExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24346,7 +27797,7 @@ public ParenExpr() public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenExpr.__Internal*) _0.__Instance); @@ -24395,37 +27846,94 @@ public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) public unsafe partial class UnaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 76)] + [StructLayout(LayoutKind.Explicit, Size = 76)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.AST.UnaryOperatorKind opcode; + + [FieldOffset(60)] internal __IntPtr subExpr; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(68)] internal byte canOverflow; + + [FieldOffset(69)] internal byte isPrefix; + + [FieldOffset(70)] internal byte isPostfix; + + [FieldOffset(71)] internal byte isIncrementOp; + + [FieldOffset(72)] internal byte isDecrementOp; + + [FieldOffset(73)] internal byte isIncrementDecrementOp; + + [FieldOffset(74)] internal byte isArithmeticOp; + + [FieldOffset(75)] internal byte isFPContractableWithinStatement; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13UnaryOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24461,7 +27969,7 @@ internal static UnaryOperator __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24481,7 +27989,7 @@ protected UnaryOperator(void* native, bool skipVTables = false) public UnaryOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24490,7 +27998,7 @@ public UnaryOperator() public UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) _0.__Instance); @@ -24643,30 +28151,73 @@ public bool IsFPContractableWithinStatement public unsafe partial class OffsetOfExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] internal uint numComponents; + + [FieldOffset(68)] internal uint numExpressions; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OffsetOfExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24702,7 +28253,7 @@ internal static OffsetOfExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24722,7 +28273,7 @@ protected OffsetOfExpr(void* native, bool skipVTables = false) public OffsetOfExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24731,7 +28282,7 @@ public OffsetOfExpr() public OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) _0.__Instance); @@ -24792,33 +28343,82 @@ public uint NumExpressions public unsafe partial class UnaryExprOrTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 92)] + [StructLayout(LayoutKind.Explicit, Size = 92)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.AST.UnaryExprOrTypeTrait kind; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(68)] internal byte isArgumentType; + + [FieldOffset(72)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal argumentType; + + [FieldOffset(80)] internal __IntPtr argumentExpr; + + [FieldOffset(84)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeOfArgument; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24UnaryExprOrTypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24854,7 +28454,7 @@ internal static UnaryExprOrTypeTraitExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24874,7 +28474,7 @@ protected UnaryExprOrTypeTraitExpr(void* native, bool skipVTables = false) public UnaryExprOrTypeTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24883,7 +28483,7 @@ public UnaryExprOrTypeTraitExpr() public UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) _0.__Instance); @@ -24988,31 +28588,76 @@ public bool IsArgumentType public unsafe partial class ArraySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 76)] + [StructLayout(LayoutKind.Explicit, Size = 76)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr lHS; + + [FieldOffset(60)] internal __IntPtr rHS; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(68)] internal __IntPtr @base; + + [FieldOffset(72)] internal __IntPtr idx; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArraySubscriptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25048,7 +28693,7 @@ internal static ArraySubscriptExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25068,7 +28713,7 @@ protected ArraySubscriptExpr(void* native, bool skipVTables = false) public ArraySubscriptExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25077,7 +28722,7 @@ public ArraySubscriptExpr() public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) _0.__Instance); @@ -25155,35 +28800,88 @@ public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 100)] + [StructLayout(LayoutKind.Explicit, Size = 100)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(68)] internal __IntPtr callee; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(76)] internal __IntPtr calleeDecl; + + [FieldOffset(80)] internal __IntPtr directCallee; + + [FieldOffset(84)] internal uint numArgs; + + [FieldOffset(88)] internal uint numCommas; + + [FieldOffset(92)] internal uint builtinCallee; + + [FieldOffset(96)] internal byte isCallToStdMove; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25237,7 +28935,7 @@ internal static CallExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -25257,7 +28955,7 @@ protected CallExpr(void* native, bool skipVTables = false) public CallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25266,7 +28964,7 @@ public CallExpr() public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -25275,7 +28973,7 @@ public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -25295,7 +28993,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -25444,39 +29142,100 @@ public uint GetargumentsCount public unsafe partial class MemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 100)] + [StructLayout(LayoutKind.Explicit, Size = 100)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr @base; + + [FieldOffset(60)] internal byte arrow; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(68)] internal byte hadMultipleCandidates; + + [FieldOffset(69)] internal byte hasQualifier; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(84)] internal byte hasTemplateKeyword; + + [FieldOffset(85)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(88)] internal uint numTemplateArgs; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(96)] internal byte isImplicitAccess; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10MemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25512,7 +29271,7 @@ internal static MemberExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25532,7 +29291,7 @@ protected MemberExpr(void* native, bool skipVTables = false) public MemberExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25541,7 +29300,7 @@ public MemberExpr() public MemberExpr(global::CppSharp.Parser.AST.MemberExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MemberExpr.__Internal*) _0.__Instance); @@ -25720,29 +29479,70 @@ public bool IsImplicitAccess public unsafe partial class CompoundLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr initializer; + + [FieldOffset(60)] internal byte fileScope; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19CompoundLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25778,7 +29578,7 @@ internal static CompoundLiteralExpr __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25798,7 +29598,7 @@ protected CompoundLiteralExpr(void* native, bool skipVTables = false) public CompoundLiteralExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25807,7 +29607,7 @@ public CompoundLiteralExpr() public CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) _0.__Instance); @@ -25856,33 +29656,82 @@ public bool FileScope public unsafe partial class CastExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 84)] + [StructLayout(LayoutKind.Explicit, Size = 84)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(60)] internal __IntPtr subExpr; + + [FieldOffset(64)] internal __IntPtr castKindName; + + [FieldOffset(68)] internal __IntPtr subExprAsWritten; + + [FieldOffset(72)] internal __IntPtr conversionFunction; + + [FieldOffset(76)] internal byte path_empty; + + [FieldOffset(80)] internal uint path_size; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25922,7 +29771,7 @@ internal static CastExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25942,7 +29791,7 @@ protected CastExpr(void* native, bool skipVTables = false) public CastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25951,7 +29800,7 @@ public CastExpr() public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -25960,7 +29809,7 @@ public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) public CastExpr(global::CppSharp.Parser.AST.CastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CastExpr.__Internal*) _0.__Instance); @@ -26082,34 +29931,85 @@ public uint PathSize public unsafe partial class ImplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(60)] internal __IntPtr subExpr; + + [FieldOffset(64)] internal __IntPtr castKindName; + + [FieldOffset(68)] internal __IntPtr subExprAsWritten; + + [FieldOffset(72)] internal __IntPtr conversionFunction; + + [FieldOffset(76)] internal byte path_empty; + + [FieldOffset(80)] internal uint path_size; + + [FieldOffset(84)] internal byte isPartOfExplicitCast; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ImplicitCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26150,7 +30050,7 @@ internal static ImplicitCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -26170,7 +30070,7 @@ protected ImplicitCastExpr(void* native, bool skipVTables = false) public ImplicitCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26179,7 +30079,7 @@ public ImplicitCastExpr() public ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) _0.__Instance); @@ -26201,34 +30101,85 @@ public bool IsPartOfExplicitCast public unsafe partial class ExplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 92)] + [StructLayout(LayoutKind.Explicit, Size = 92)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(60)] internal __IntPtr subExpr; + + [FieldOffset(64)] internal __IntPtr castKindName; + + [FieldOffset(68)] internal __IntPtr subExprAsWritten; + + [FieldOffset(72)] internal __IntPtr conversionFunction; + + [FieldOffset(76)] internal byte path_empty; + + [FieldOffset(80)] internal uint path_size; + + [FieldOffset(84)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26267,7 +30218,7 @@ internal static ExplicitCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -26287,7 +30238,7 @@ protected ExplicitCastExpr(void* native, bool skipVTables = false) public ExplicitCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26296,7 +30247,7 @@ public ExplicitCastExpr() public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -26305,7 +30256,7 @@ public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) _0.__Instance); @@ -26334,36 +30285,91 @@ public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) public unsafe partial class CStyleCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 100)] + [StructLayout(LayoutKind.Explicit, Size = 100)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(60)] internal __IntPtr subExpr; + + [FieldOffset(64)] internal __IntPtr castKindName; + + [FieldOffset(68)] internal __IntPtr subExprAsWritten; + + [FieldOffset(72)] internal __IntPtr conversionFunction; + + [FieldOffset(76)] internal byte path_empty; + + [FieldOffset(80)] internal uint path_size; + + [FieldOffset(84)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14CStyleCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26399,7 +30405,7 @@ internal static CStyleCastExpr __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -26419,7 +30425,7 @@ protected CStyleCastExpr(void* native, bool skipVTables = false) public CStyleCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26428,7 +30434,7 @@ public CStyleCastExpr() public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) _0.__Instance); @@ -26463,45 +30469,118 @@ public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 100)] + [StructLayout(LayoutKind.Explicit, Size = 100)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(60)] internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(64)] internal __IntPtr lHS; + + [FieldOffset(68)] internal __IntPtr rHS; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C opcodeStr; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C OpcodeStr; + + [FieldOffset(84)] internal byte isPtrMemOp; + + [FieldOffset(85)] internal byte isMultiplicativeOp; + + [FieldOffset(86)] internal byte isAdditiveOp; + + [FieldOffset(87)] internal byte isShiftOp; + + [FieldOffset(88)] internal byte isBitwiseOp; + + [FieldOffset(89)] internal byte isRelationalOp; + + [FieldOffset(90)] internal byte isEqualityOp; + + [FieldOffset(91)] internal byte isComparisonOp; + + [FieldOffset(92)] internal byte isLogicalOp; + + [FieldOffset(93)] internal byte isAssignmentOp; + + [FieldOffset(94)] internal byte isCompoundAssignmentOp; + + [FieldOffset(95)] internal byte isShiftAssignOp; + + [FieldOffset(96)] internal byte isFPContractableWithinStatement; + + [FieldOffset(97)] internal byte isFEnvAccessOn; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26515,6 +30594,12 @@ public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, I [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperator12getOpcodeStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetOpcodeStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperator12setOpcodeStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetOpcodeStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new BinaryOperator __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -26543,7 +30628,7 @@ internal static BinaryOperator __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -26563,7 +30648,7 @@ protected BinaryOperator(void* native, bool skipVTables = false) public BinaryOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26572,7 +30657,7 @@ public BinaryOperator() public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -26581,7 +30666,7 @@ public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -26601,7 +30686,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -26664,20 +30749,6 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) } } - public string OpcodeStr - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->opcodeStr)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->opcodeStr), value); - } - } - public bool IsPtrMemOp { get @@ -26859,51 +30930,142 @@ public bool IsFEnvAccessOn ((__Internal*)__Instance)->isFEnvAccessOn = (byte) (value ? 1 : 0); } } + + public string OpcodeStr + { + get + { + var ___ret = __Internal.GetOpcodeStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetOpcodeStr(__Instance, value); + } + } } public unsafe partial class CompoundAssignOperator : global::CppSharp.Parser.AST.BinaryOperator, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 116)] + [StructLayout(LayoutKind.Explicit, Size = 116)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(60)] internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(64)] internal __IntPtr lHS; + + [FieldOffset(68)] internal __IntPtr rHS; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C opcodeStr; + + [FieldOffset(72)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C OpcodeStr; + + [FieldOffset(84)] internal byte isPtrMemOp; + + [FieldOffset(85)] internal byte isMultiplicativeOp; + + [FieldOffset(86)] internal byte isAdditiveOp; + + [FieldOffset(87)] internal byte isShiftOp; + + [FieldOffset(88)] internal byte isBitwiseOp; + + [FieldOffset(89)] internal byte isRelationalOp; + + [FieldOffset(90)] internal byte isEqualityOp; + + [FieldOffset(91)] internal byte isComparisonOp; + + [FieldOffset(92)] internal byte isLogicalOp; + + [FieldOffset(93)] internal byte isAssignmentOp; + + [FieldOffset(94)] internal byte isCompoundAssignmentOp; + + [FieldOffset(95)] internal byte isShiftAssignOp; + + [FieldOffset(96)] internal byte isFPContractableWithinStatement; + + [FieldOffset(97)] internal byte isFEnvAccessOn; + + [FieldOffset(100)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationLHSType; + + [FieldOffset(108)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationResultType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26942,7 +31104,7 @@ internal static CompoundAssignOperator __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -26962,7 +31124,7 @@ protected CompoundAssignOperator(void* native, bool skipVTables = false) public CompoundAssignOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26971,7 +31133,7 @@ public CompoundAssignOperator() public CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -26991,7 +31153,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -27028,31 +31190,76 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class AbstractConditionalOperator : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 76)] + [StructLayout(LayoutKind.Explicit, Size = 76)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr cond; + + [FieldOffset(60)] internal __IntPtr trueExpr; + + [FieldOffset(64)] internal __IntPtr falseExpr; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27091,7 +31298,7 @@ internal static AbstractConditionalOperator __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27111,7 +31318,7 @@ protected AbstractConditionalOperator(void* native, bool skipVTables = false) public AbstractConditionalOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27120,7 +31327,7 @@ public AbstractConditionalOperator() public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -27129,7 +31336,7 @@ public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) _0.__Instance); @@ -27211,33 +31418,82 @@ public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractCondition public unsafe partial class ConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 84)] + [StructLayout(LayoutKind.Explicit, Size = 84)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr cond; + + [FieldOffset(60)] internal __IntPtr trueExpr; + + [FieldOffset(64)] internal __IntPtr falseExpr; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(76)] internal __IntPtr lHS; + + [FieldOffset(80)] internal __IntPtr rHS; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27273,7 +31529,7 @@ internal static ConditionalOperator __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27293,7 +31549,7 @@ protected ConditionalOperator(void* native, bool skipVTables = false) public ConditionalOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27302,7 +31558,7 @@ public ConditionalOperator() public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) _0.__Instance); @@ -27339,33 +31595,82 @@ public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) public unsafe partial class BinaryConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 84)] + [StructLayout(LayoutKind.Explicit, Size = 84)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr cond; + + [FieldOffset(60)] internal __IntPtr trueExpr; + + [FieldOffset(64)] internal __IntPtr falseExpr; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(76)] internal __IntPtr common; + + [FieldOffset(80)] internal __IntPtr opaqueValue; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25BinaryConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27401,7 +31706,7 @@ internal static BinaryConditionalOperator __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27421,7 +31726,7 @@ protected BinaryConditionalOperator(void* native, bool skipVTables = false) public BinaryConditionalOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27430,7 +31735,7 @@ public BinaryConditionalOperator() public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) _0.__Instance); @@ -27467,28 +31772,67 @@ public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOp public unsafe partial class AddrLabelExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal ampAmpLoc; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13AddrLabelExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27524,7 +31868,7 @@ internal static AddrLabelExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27544,7 +31888,7 @@ protected AddrLabelExpr(void* native, bool skipVTables = false) public AddrLabelExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27553,7 +31897,7 @@ public AddrLabelExpr() public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) _0.__Instance); @@ -27588,29 +31932,70 @@ public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) public unsafe partial class StmtExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr subStmt; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8StmtExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27646,7 +32031,7 @@ internal static StmtExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27666,7 +32051,7 @@ protected StmtExpr(void* native, bool skipVTables = false) public StmtExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27675,7 +32060,7 @@ public StmtExpr() public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.StmtExpr.__Internal*) _0.__Instance); @@ -27724,29 +32109,70 @@ public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) public unsafe partial class ShuffleVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(64)] internal uint numSubExprs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ShuffleVectorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27782,7 +32208,7 @@ internal static ShuffleVectorExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27802,7 +32228,7 @@ protected ShuffleVectorExpr(void* native, bool skipVTables = false) public ShuffleVectorExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27811,7 +32237,7 @@ public ShuffleVectorExpr() public ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) _0.__Instance); @@ -27859,29 +32285,70 @@ public uint NumSubExprs public unsafe partial class ConvertVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr srcExpr; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ConvertVectorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27917,7 +32384,7 @@ internal static ConvertVectorExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27937,7 +32404,7 @@ protected ConvertVectorExpr(void* native, bool skipVTables = false) public ConvertVectorExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27946,7 +32413,7 @@ public ConvertVectorExpr() public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) _0.__Instance); @@ -27995,34 +32462,85 @@ public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) public unsafe partial class ChooseExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 84)] + [StructLayout(LayoutKind.Explicit, Size = 84)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(53)] internal byte isConditionTrue; + + [FieldOffset(56)] internal __IntPtr cond; + + [FieldOffset(60)] internal __IntPtr lHS; + + [FieldOffset(64)] internal __IntPtr rHS; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(76)] internal byte isConditionDependent; + + [FieldOffset(80)] internal __IntPtr chosenSubExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ChooseExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28058,7 +32576,7 @@ internal static ChooseExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28078,7 +32596,7 @@ protected ChooseExpr(void* native, bool skipVTables = false) public ChooseExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28087,7 +32605,7 @@ public ChooseExpr() public ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) _0.__Instance); @@ -28204,27 +32722,64 @@ public bool IsConditionDependent public unsafe partial class GNUNullExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 60)] + [StructLayout(LayoutKind.Explicit, Size = 60)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal tokenLocation; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11GNUNullExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28260,7 +32815,7 @@ internal static GNUNullExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28280,7 +32835,7 @@ protected GNUNullExpr(void* native, bool skipVTables = false) public GNUNullExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28289,7 +32844,7 @@ public GNUNullExpr() public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) _0.__Instance); @@ -28311,30 +32866,73 @@ public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) public unsafe partial class VAArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr subExpr; + + [FieldOffset(60)] internal byte isMicrosoftABI; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9VAArgExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28370,7 +32968,7 @@ internal static VAArgExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28390,7 +32988,7 @@ protected VAArgExpr(void* native, bool skipVTables = false) public VAArgExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28399,7 +32997,7 @@ public VAArgExpr() public VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) _0.__Instance); @@ -28461,38 +33059,97 @@ public bool IsMicrosoftABI public unsafe partial class InitListExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 92)] + [StructLayout(LayoutKind.Explicit, Size = 92)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr arrayFiller; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal rBraceLoc; + + [FieldOffset(68)] internal __IntPtr syntacticForm; + + [FieldOffset(72)] internal uint numInits; + + [FieldOffset(76)] internal byte hasArrayFiller; + + [FieldOffset(77)] internal byte isExplicit; + + [FieldOffset(78)] internal byte isStringLiteralInit; + + [FieldOffset(79)] internal byte isTransparent; + + [FieldOffset(80)] internal byte isSemanticForm; + + [FieldOffset(84)] internal __IntPtr semanticForm; + + [FieldOffset(88)] internal byte isSyntacticForm; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12InitListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28528,7 +33185,7 @@ internal static InitListExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28548,7 +33205,7 @@ protected InitListExpr(void* native, bool skipVTables = false) public InitListExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28557,7 +33214,7 @@ public InitListExpr() public InitListExpr(global::CppSharp.Parser.AST.InitListExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InitListExpr.__Internal*) _0.__Instance); @@ -28725,32 +33382,79 @@ public bool IsSyntacticForm public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 84)] + [StructLayout(LayoutKind.Explicit, Size = 84)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal equalOrColonLoc; + + [FieldOffset(60)] internal __IntPtr init; + + [FieldOffset(64)] internal uint size; + + [FieldOffset(68)] internal byte usesGNUSyntax; + + [FieldOffset(72)] internal uint numSubExprs; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceRange.__Internal designatorsSourceRange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28762,19 +33466,40 @@ public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Exp public unsafe partial class Designator : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public partial struct __Internal { + [FieldOffset(0)] internal __IntPtr field; + + [FieldOffset(4)] internal byte isFieldDesignator; + + [FieldOffset(5)] internal byte isArrayDesignator; + + [FieldOffset(6)] internal byte isArrayRangeDesignator; + + [FieldOffset(8)] internal global::CppSharp.Parser.SourceLocation.__Internal dotLoc; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal fieldLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal lBracketLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(28)] internal uint firstExprIndex; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr10DesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28828,7 +33553,7 @@ internal static Designator __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28849,7 +33574,7 @@ protected Designator(void* native, bool skipVTables = false) public Designator() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28857,7 +33582,7 @@ public Designator() public Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) _0.__Instance); @@ -28877,7 +33602,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -29030,7 +33755,7 @@ public uint FirstExprIndex public unsafe partial class FieldDesignator : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr15FieldDesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29084,7 +33809,7 @@ internal static FieldDesignator __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29105,7 +33830,7 @@ protected FieldDesignator(void* native, bool skipVTables = false) public FieldDesignator() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29113,7 +33838,7 @@ public FieldDesignator() public FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) _0.__Instance); @@ -29133,14 +33858,14 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class ArrayOrRangeDesignator : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr22ArrayOrRangeDesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29194,7 +33919,7 @@ internal static ArrayOrRangeDesignator __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29215,7 +33940,7 @@ protected ArrayOrRangeDesignator(void* native, bool skipVTables = false) public ArrayOrRangeDesignator() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29223,7 +33948,7 @@ public ArrayOrRangeDesignator() public ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) _0.__Instance); @@ -29243,7 +33968,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -29274,7 +33999,7 @@ internal static DesignatedInitExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29294,7 +34019,7 @@ protected DesignatedInitExpr(void* native, bool skipVTables = false) public DesignatedInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29303,7 +34028,7 @@ public DesignatedInitExpr() public DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) _0.__Instance); @@ -29393,26 +34118,61 @@ public uint NumSubExprs public unsafe partial class NoInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10NoInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29448,7 +34208,7 @@ internal static NoInitExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29468,7 +34228,7 @@ protected NoInitExpr(void* native, bool skipVTables = false) public NoInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29477,7 +34237,7 @@ public NoInitExpr() public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) _0.__Instance); @@ -29486,28 +34246,67 @@ public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) public unsafe partial class DesignatedInitUpdateExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr @base; + + [FieldOffset(60)] internal __IntPtr updater; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24DesignatedInitUpdateExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29543,7 +34342,7 @@ internal static DesignatedInitUpdateExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29563,7 +34362,7 @@ protected DesignatedInitUpdateExpr(void* native, bool skipVTables = false) public DesignatedInitUpdateExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29572,7 +34371,7 @@ public DesignatedInitUpdateExpr() public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) _0.__Instance); @@ -29609,28 +34408,67 @@ public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdate public unsafe partial class ArrayInitLoopExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr commonExpr; + + [FieldOffset(60)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ArrayInitLoopExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29666,7 +34504,7 @@ internal static ArrayInitLoopExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29686,7 +34524,7 @@ protected ArrayInitLoopExpr(void* native, bool skipVTables = false) public ArrayInitLoopExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29695,7 +34533,7 @@ public ArrayInitLoopExpr() public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) _0.__Instance); @@ -29732,26 +34570,61 @@ public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) public unsafe partial class ArrayInitIndexExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArrayInitIndexExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29787,7 +34660,7 @@ internal static ArrayInitIndexExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29807,7 +34680,7 @@ protected ArrayInitIndexExpr(void* native, bool skipVTables = false) public ArrayInitIndexExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29816,7 +34689,7 @@ public ArrayInitIndexExpr() public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) _0.__Instance); @@ -29825,26 +34698,61 @@ public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) public unsafe partial class ImplicitValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21ImplicitValueInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29880,7 +34788,7 @@ internal static ImplicitValueInitExpr __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29900,7 +34808,7 @@ protected ImplicitValueInitExpr(void* native, bool skipVTables = false) public ImplicitValueInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29909,7 +34817,7 @@ public ImplicitValueInitExpr() public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) _0.__Instance); @@ -29918,29 +34826,70 @@ public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _ public unsafe partial class ParenListExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal uint numExprs; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ParenListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29976,7 +34925,7 @@ internal static ParenListExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29996,7 +34945,7 @@ protected ParenListExpr(void* native, bool skipVTables = false) public ParenListExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30005,7 +34954,7 @@ public ParenListExpr() public ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) _0.__Instance); @@ -30053,34 +35002,85 @@ public uint NumExprs public unsafe partial class GenericSelectionExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal uint numAssocs; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal genericLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(72)] internal __IntPtr controllingExpr; + + [FieldOffset(76)] internal byte isResultDependent; + + [FieldOffset(80)] internal uint resultIndex; + + [FieldOffset(84)] internal __IntPtr resultExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20GenericSelectionExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30116,7 +35116,7 @@ internal static GenericSelectionExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30136,7 +35136,7 @@ protected GenericSelectionExpr(void* native, bool skipVTables = false) public GenericSelectionExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30145,7 +35145,7 @@ public GenericSelectionExpr() public GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) _0.__Instance); @@ -30260,31 +35260,76 @@ public uint ResultIndex public unsafe partial class ExtVectorElementExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr @base; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal accessorLoc; + + [FieldOffset(64)] internal uint numElements; + + [FieldOffset(68)] internal byte containsDuplicateElements; + + [FieldOffset(69)] internal byte isArrow; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20ExtVectorElementExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30320,7 +35365,7 @@ internal static ExtVectorElementExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30340,7 +35385,7 @@ protected ExtVectorElementExpr(void* native, bool skipVTables = false) public ExtVectorElementExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30349,7 +35394,7 @@ public ExtVectorElementExpr() public ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) _0.__Instance); @@ -30424,28 +35469,67 @@ public bool IsArrow public unsafe partial class BlockExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal caretLocation; + + [FieldOffset(60)] internal __IntPtr body; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9BlockExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30481,7 +35565,7 @@ internal static BlockExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30501,7 +35585,7 @@ protected BlockExpr(void* native, bool skipVTables = false) public BlockExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30510,7 +35594,7 @@ public BlockExpr() public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BlockExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockExpr.__Internal*) _0.__Instance); @@ -30546,29 +35630,70 @@ public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) public unsafe partial class AsTypeExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr srcExpr; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10AsTypeExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30604,7 +35729,7 @@ internal static AsTypeExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30624,7 +35749,7 @@ protected AsTypeExpr(void* native, bool skipVTables = false) public AsTypeExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30633,7 +35758,7 @@ public AsTypeExpr() public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) _0.__Instance); @@ -30682,30 +35807,73 @@ public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) public unsafe partial class PseudoObjectExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr syntacticForm; + + [FieldOffset(60)] internal uint resultExprIndex; + + [FieldOffset(64)] internal __IntPtr resultExpr; + + [FieldOffset(68)] internal uint numSemanticExprs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16PseudoObjectExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30741,7 +35909,7 @@ internal static PseudoObjectExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30761,7 +35929,7 @@ protected PseudoObjectExpr(void* native, bool skipVTables = false) public PseudoObjectExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30770,7 +35938,7 @@ public PseudoObjectExpr() public PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) _0.__Instance); @@ -30833,41 +36001,106 @@ public uint NumSemanticExprs public unsafe partial class AtomicExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr ptr; + + [FieldOffset(60)] internal __IntPtr order; + + [FieldOffset(64)] internal __IntPtr scope; + + [FieldOffset(68)] internal __IntPtr val1; + + [FieldOffset(72)] internal __IntPtr orderFail; + + [FieldOffset(76)] internal __IntPtr val2; + + [FieldOffset(80)] internal __IntPtr weak; + + [FieldOffset(84)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal valueType; + + [FieldOffset(92)] internal global::CppSharp.Parser.AST.AtomicExpr.AtomicOp op; + + [FieldOffset(96)] internal uint numSubExprs; + + [FieldOffset(100)] internal byte isVolatile; + + [FieldOffset(101)] internal byte isCmpXChg; + + [FieldOffset(102)] internal byte isOpenCL; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10AtomicExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30953,7 +36186,7 @@ internal static AtomicExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30973,7 +36206,7 @@ protected AtomicExpr(void* native, bool skipVTables = false) public AtomicExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30982,7 +36215,7 @@ public AtomicExpr() public AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) _0.__Instance); @@ -31195,26 +36428,61 @@ public bool IsOpenCL public unsafe partial class TypoExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8TypoExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31250,7 +36518,7 @@ internal static TypoExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -31270,7 +36538,7 @@ protected TypoExpr(void* native, bool skipVTables = false) public TypoExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31279,7 +36547,7 @@ public TypoExpr() public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) _0.__Instance); @@ -31288,39 +36556,100 @@ public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) public unsafe partial class CXXOperatorCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(68)] internal __IntPtr callee; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(76)] internal __IntPtr calleeDecl; + + [FieldOffset(80)] internal __IntPtr directCallee; + + [FieldOffset(84)] internal uint numArgs; + + [FieldOffset(88)] internal uint numCommas; + + [FieldOffset(92)] internal uint builtinCallee; + + [FieldOffset(96)] internal byte isCallToStdMove; + + [FieldOffset(100)] internal global::CppSharp.Parser.AST.OverloadedOperatorKind _operator; + + [FieldOffset(104)] internal byte isAssignmentOp; + + [FieldOffset(105)] internal byte isInfixBinaryOp; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31359,7 +36688,7 @@ internal static CXXOperatorCallExpr __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -31379,7 +36708,7 @@ protected CXXOperatorCallExpr(void* native, bool skipVTables = false) public CXXOperatorCallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31388,7 +36717,7 @@ public CXXOperatorCallExpr() public CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -31408,7 +36737,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -31467,37 +36796,94 @@ public bool IsInfixBinaryOp public unsafe partial class CXXMemberCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 108)] + [StructLayout(LayoutKind.Explicit, Size = 108)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(68)] internal __IntPtr callee; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(76)] internal __IntPtr calleeDecl; + + [FieldOffset(80)] internal __IntPtr directCallee; + + [FieldOffset(84)] internal uint numArgs; + + [FieldOffset(88)] internal uint numCommas; + + [FieldOffset(92)] internal uint builtinCallee; + + [FieldOffset(96)] internal byte isCallToStdMove; + + [FieldOffset(100)] internal __IntPtr implicitObjectArgument; + + [FieldOffset(104)] internal __IntPtr methodDecl; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXMemberCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31536,7 +36922,7 @@ internal static CXXMemberCallExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -31556,7 +36942,7 @@ protected CXXMemberCallExpr(void* native, bool skipVTables = false) public CXXMemberCallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31565,7 +36951,7 @@ public CXXMemberCallExpr() public CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -31585,7 +36971,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -31620,36 +37006,91 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class CUDAKernelCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(68)] internal __IntPtr callee; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(76)] internal __IntPtr calleeDecl; + + [FieldOffset(80)] internal __IntPtr directCallee; + + [FieldOffset(84)] internal uint numArgs; + + [FieldOffset(88)] internal uint numCommas; + + [FieldOffset(92)] internal uint builtinCallee; + + [FieldOffset(96)] internal byte isCallToStdMove; + + [FieldOffset(100)] internal __IntPtr config; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31688,7 +37129,7 @@ internal static CUDAKernelCallExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -31708,7 +37149,7 @@ protected CUDAKernelCallExpr(void* native, bool skipVTables = false) public CUDAKernelCallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31717,7 +37158,7 @@ public CUDAKernelCallExpr() public CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -31737,7 +37178,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -31758,38 +37199,97 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class CXXNamedCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(60)] internal __IntPtr subExpr; + + [FieldOffset(64)] internal __IntPtr castKindName; + + [FieldOffset(68)] internal __IntPtr subExprAsWritten; + + [FieldOffset(72)] internal __IntPtr conversionFunction; + + [FieldOffset(76)] internal byte path_empty; + + [FieldOffset(80)] internal uint path_size; + + [FieldOffset(84)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(92)] internal __IntPtr castName; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31829,7 +37329,7 @@ internal static CXXNamedCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -31849,7 +37349,7 @@ protected CXXNamedCastExpr(void* native, bool skipVTables = false) public CXXNamedCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31858,7 +37358,7 @@ public CXXNamedCastExpr() public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -31867,7 +37367,7 @@ public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) public CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) _0.__Instance); @@ -31949,38 +37449,97 @@ public string CastName public unsafe partial class CXXStaticCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(60)] internal __IntPtr subExpr; + + [FieldOffset(64)] internal __IntPtr castKindName; + + [FieldOffset(68)] internal __IntPtr subExprAsWritten; + + [FieldOffset(72)] internal __IntPtr conversionFunction; + + [FieldOffset(76)] internal byte path_empty; + + [FieldOffset(80)] internal uint path_size; + + [FieldOffset(84)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(92)] internal __IntPtr castName; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXStaticCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32016,7 +37575,7 @@ internal static CXXStaticCastExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32036,7 +37595,7 @@ protected CXXStaticCastExpr(void* native, bool skipVTables = false) public CXXStaticCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32045,7 +37604,7 @@ public CXXStaticCastExpr() public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) _0.__Instance); @@ -32054,39 +37613,100 @@ public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) public unsafe partial class CXXDynamicCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 116)] + [StructLayout(LayoutKind.Explicit, Size = 116)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(60)] internal __IntPtr subExpr; + + [FieldOffset(64)] internal __IntPtr castKindName; + + [FieldOffset(68)] internal __IntPtr subExprAsWritten; + + [FieldOffset(72)] internal __IntPtr conversionFunction; + + [FieldOffset(76)] internal byte path_empty; + + [FieldOffset(80)] internal uint path_size; + + [FieldOffset(84)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(92)] internal __IntPtr castName; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [FieldOffset(112)] internal byte isAlwaysNull; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXDynamicCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32122,7 +37742,7 @@ internal static CXXDynamicCastExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32142,7 +37762,7 @@ protected CXXDynamicCastExpr(void* native, bool skipVTables = false) public CXXDynamicCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32151,7 +37771,7 @@ public CXXDynamicCastExpr() public CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) _0.__Instance); @@ -32173,38 +37793,97 @@ public bool IsAlwaysNull public unsafe partial class CXXReinterpretCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(60)] internal __IntPtr subExpr; + + [FieldOffset(64)] internal __IntPtr castKindName; + + [FieldOffset(68)] internal __IntPtr subExprAsWritten; + + [FieldOffset(72)] internal __IntPtr conversionFunction; + + [FieldOffset(76)] internal byte path_empty; + + [FieldOffset(80)] internal uint path_size; + + [FieldOffset(84)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(92)] internal __IntPtr castName; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXReinterpretCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32240,7 +37919,7 @@ internal static CXXReinterpretCastExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32260,7 +37939,7 @@ protected CXXReinterpretCastExpr(void* native, bool skipVTables = false) public CXXReinterpretCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32269,7 +37948,7 @@ public CXXReinterpretCastExpr() public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) _0.__Instance); @@ -32278,38 +37957,97 @@ public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr public unsafe partial class CXXConstCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(60)] internal __IntPtr subExpr; + + [FieldOffset(64)] internal __IntPtr castKindName; + + [FieldOffset(68)] internal __IntPtr subExprAsWritten; + + [FieldOffset(72)] internal __IntPtr conversionFunction; + + [FieldOffset(76)] internal byte path_empty; + + [FieldOffset(80)] internal uint path_size; + + [FieldOffset(84)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(92)] internal __IntPtr castName; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32345,7 +38083,7 @@ internal static CXXConstCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32365,7 +38103,7 @@ protected CXXConstCastExpr(void* native, bool skipVTables = false) public CXXConstCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32374,7 +38112,7 @@ public CXXConstCastExpr() public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) _0.__Instance); @@ -32383,38 +38121,97 @@ public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) public unsafe partial class UserDefinedLiteral : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(68)] internal __IntPtr callee; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(76)] internal __IntPtr calleeDecl; + + [FieldOffset(80)] internal __IntPtr directCallee; + + [FieldOffset(84)] internal uint numArgs; + + [FieldOffset(88)] internal uint numCommas; + + [FieldOffset(92)] internal uint builtinCallee; + + [FieldOffset(96)] internal byte isCallToStdMove; + + [FieldOffset(100)] internal global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind; + + [FieldOffset(104)] internal __IntPtr cookedLiteral; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal uDSuffixLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18UserDefinedLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32463,7 +38260,7 @@ internal static UserDefinedLiteral __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -32483,7 +38280,7 @@ protected UserDefinedLiteral(void* native, bool skipVTables = false) public UserDefinedLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32492,7 +38289,7 @@ public UserDefinedLiteral() public UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -32512,7 +38309,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -32559,28 +38356,67 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class CXXBoolLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 60)] + [StructLayout(LayoutKind.Explicit, Size = 60)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(53)] internal byte value; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal location; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXBoolLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32616,7 +38452,7 @@ internal static CXXBoolLiteralExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32636,7 +38472,7 @@ protected CXXBoolLiteralExpr(void* native, bool skipVTables = false) public CXXBoolLiteralExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32645,7 +38481,7 @@ public CXXBoolLiteralExpr() public CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) _0.__Instance); @@ -32680,27 +38516,64 @@ public bool Value public unsafe partial class CXXNullPtrLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 60)] + [StructLayout(LayoutKind.Explicit, Size = 60)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal location; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21CXXNullPtrLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32736,7 +38609,7 @@ internal static CXXNullPtrLiteralExpr __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32756,7 +38629,7 @@ protected CXXNullPtrLiteralExpr(void* native, bool skipVTables = false) public CXXNullPtrLiteralExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32765,7 +38638,7 @@ public CXXNullPtrLiteralExpr() public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) _0.__Instance); @@ -32787,27 +38660,64 @@ public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _ public unsafe partial class CXXStdInitializerListExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 60)] + [StructLayout(LayoutKind.Explicit, Size = 60)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25CXXStdInitializerListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32843,7 +38753,7 @@ internal static CXXStdInitializerListExpr __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32863,7 +38773,7 @@ protected CXXStdInitializerListExpr(void* native, bool skipVTables = false) public CXXStdInitializerListExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32872,7 +38782,7 @@ public CXXStdInitializerListExpr() public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) _0.__Instance); @@ -32895,29 +38805,70 @@ public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerLi public unsafe partial class CXXTypeidExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr exprOperand; + + [FieldOffset(60)] internal byte isPotentiallyEvaluated; + + [FieldOffset(61)] internal byte isTypeOperand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXTypeidExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32953,7 +38904,7 @@ internal static CXXTypeidExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32973,7 +38924,7 @@ protected CXXTypeidExpr(void* native, bool skipVTables = false) public CXXTypeidExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32982,7 +38933,7 @@ public CXXTypeidExpr() public CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) _0.__Instance); @@ -33031,30 +38982,73 @@ public bool IsTypeOperand public unsafe partial class MSPropertyRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(53)] internal byte isImplicitAccess; + + [FieldOffset(56)] internal __IntPtr baseExpr; + + [FieldOffset(60)] internal byte isArrow; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17MSPropertyRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33090,7 +39084,7 @@ internal static MSPropertyRefExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33110,7 +39104,7 @@ protected MSPropertyRefExpr(void* native, bool skipVTables = false) public MSPropertyRefExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33119,7 +39113,7 @@ public MSPropertyRefExpr() public MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) _0.__Instance); @@ -33181,29 +39175,70 @@ public bool IsArrow public unsafe partial class MSPropertySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(60)] internal __IntPtr @base; + + [FieldOffset(64)] internal __IntPtr idx; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23MSPropertySubscriptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33239,7 +39274,7 @@ internal static MSPropertySubscriptExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33259,7 +39294,7 @@ protected MSPropertySubscriptExpr(void* native, bool skipVTables = false) public MSPropertySubscriptExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33268,7 +39303,7 @@ public MSPropertySubscriptExpr() public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) _0.__Instance); @@ -33318,29 +39353,70 @@ public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptEx public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 76)] + [StructLayout(LayoutKind.Explicit, Size = 76)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr exprOperand; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C uuidStr; + + [FieldOffset(60)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C UuidStr; + + [FieldOffset(72)] internal byte isTypeOperand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33351,6 +39427,12 @@ public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, ID [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExprD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExpr10getUuidStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetUuidStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExpr10setUuidStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetUuidStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new CXXUuidofExpr __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -33379,7 +39461,7 @@ internal static CXXUuidofExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -33399,7 +39481,7 @@ protected CXXUuidofExpr(void* native, bool skipVTables = false) public CXXUuidofExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33408,7 +39490,7 @@ public CXXUuidofExpr() public CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -33428,7 +39510,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -33446,58 +39528,97 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) } } - public string UuidStr + public bool IsTypeOperand { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->uuidStr)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isTypeOperand != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->uuidStr), value); + ((__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); } } - public bool IsTypeOperand + public string UuidStr { get { - return ((__Internal*)__Instance)->isTypeOperand != 0; + var ___ret = __Internal.GetUuidStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + __Internal.SetUuidStr(__Instance, value); } } } public unsafe partial class CXXThisExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(60)] internal byte @implicit; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CXXThisExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33533,7 +39654,7 @@ internal static CXXThisExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33553,7 +39674,7 @@ protected CXXThisExpr(void* native, bool skipVTables = false) public CXXThisExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33562,7 +39683,7 @@ public CXXThisExpr() public CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) _0.__Instance); @@ -33597,29 +39718,70 @@ public bool Implicit public unsafe partial class CXXThrowExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr subExpr; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal throwLoc; + + [FieldOffset(64)] internal byte isThrownVariableInScope; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CXXThrowExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33655,7 +39817,7 @@ internal static CXXThrowExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33675,7 +39837,7 @@ protected CXXThrowExpr(void* native, bool skipVTables = false) public CXXThrowExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33684,7 +39846,7 @@ public CXXThrowExpr() public CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) _0.__Instance); @@ -33733,28 +39895,67 @@ public bool IsThrownVariableInScope public unsafe partial class CXXDefaultArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr expr; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal usedLocation; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXDefaultArgExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33790,7 +39991,7 @@ internal static CXXDefaultArgExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33810,7 +40011,7 @@ protected CXXDefaultArgExpr(void* native, bool skipVTables = false) public CXXDefaultArgExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33819,7 +40020,7 @@ public CXXDefaultArgExpr() public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) _0.__Instance); @@ -33855,28 +40056,67 @@ public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) public unsafe partial class CXXDefaultInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr field; + + [FieldOffset(60)] internal __IntPtr expr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXDefaultInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33912,7 +40152,7 @@ internal static CXXDefaultInitExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33932,7 +40172,7 @@ protected CXXDefaultInitExpr(void* native, bool skipVTables = false) public CXXDefaultInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33941,7 +40181,7 @@ public CXXDefaultInitExpr() public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) _0.__Instance); @@ -33978,27 +40218,64 @@ public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) public unsafe partial class CXXBindTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 60)] + [StructLayout(LayoutKind.Explicit, Size = 60)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20CXXBindTemporaryExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34034,7 +40311,7 @@ internal static CXXBindTemporaryExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -34054,7 +40331,7 @@ protected CXXBindTemporaryExpr(void* native, bool skipVTables = false) public CXXBindTemporaryExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34063,7 +40340,7 @@ public CXXBindTemporaryExpr() public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) _0.__Instance); @@ -34086,35 +40363,88 @@ public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 92)] + [StructLayout(LayoutKind.Explicit, Size = 92)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(72)] internal byte elidable; + + [FieldOffset(73)] internal byte hadMultipleCandidates; + + [FieldOffset(74)] internal byte listInitialization; + + [FieldOffset(75)] internal byte stdInitListInitialization; + + [FieldOffset(76)] internal byte requiresZeroInitialization; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(88)] internal uint numArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstructExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34176,7 +40506,7 @@ internal static CXXConstructExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -34196,7 +40526,7 @@ protected CXXConstructExpr(void* native, bool skipVTables = false) public CXXConstructExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34205,7 +40535,7 @@ public CXXConstructExpr() public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -34214,7 +40544,7 @@ public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -34234,7 +40564,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -34382,29 +40712,70 @@ public uint GetargumentsCount public unsafe partial class CXXInheritedCtorInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 60)] + [StructLayout(LayoutKind.Explicit, Size = 60)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(53)] internal byte constructsVBase; + + [FieldOffset(54)] internal byte inheritedFromVBase; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal location; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXInheritedCtorInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34440,7 +40811,7 @@ internal static CXXInheritedCtorInitExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -34460,7 +40831,7 @@ protected CXXInheritedCtorInitExpr(void* native, bool skipVTables = false) public CXXInheritedCtorInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34469,7 +40840,7 @@ public CXXInheritedCtorInitExpr() public CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) _0.__Instance); @@ -34517,37 +40888,94 @@ public bool InheritedFromVBase public unsafe partial class CXXFunctionalCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(60)] internal __IntPtr subExpr; + + [FieldOffset(64)] internal __IntPtr castKindName; + + [FieldOffset(68)] internal __IntPtr subExprAsWritten; + + [FieldOffset(72)] internal __IntPtr conversionFunction; + + [FieldOffset(76)] internal byte path_empty; + + [FieldOffset(80)] internal uint path_size; + + [FieldOffset(84)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(100)] internal byte isListInitialization; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21CXXFunctionalCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34583,7 +41011,7 @@ internal static CXXFunctionalCastExpr __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -34603,7 +41031,7 @@ protected CXXFunctionalCastExpr(void* native, bool skipVTables = false) public CXXFunctionalCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34612,7 +41040,7 @@ public CXXFunctionalCastExpr() public CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) _0.__Instance); @@ -34660,35 +41088,88 @@ public bool IsListInitialization public unsafe partial class CXXTemporaryObjectExpr : global::CppSharp.Parser.AST.CXXConstructExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 92)] + [StructLayout(LayoutKind.Explicit, Size = 92)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(72)] internal byte elidable; + + [FieldOffset(73)] internal byte hadMultipleCandidates; + + [FieldOffset(74)] internal byte listInitialization; + + [FieldOffset(75)] internal byte stdInitListInitialization; + + [FieldOffset(76)] internal byte requiresZeroInitialization; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(88)] internal uint numArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34727,7 +41208,7 @@ internal static CXXTemporaryObjectExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -34747,7 +41228,7 @@ protected CXXTemporaryObjectExpr(void* native, bool skipVTables = false) public CXXTemporaryObjectExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34756,7 +41237,7 @@ public CXXTemporaryObjectExpr() public CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -34776,43 +41257,98 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class LambdaExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 100)] + [StructLayout(LayoutKind.Explicit, Size = 100)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ capture_inits; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal captureDefaultLoc; + + [FieldOffset(72)] internal uint capture_size; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceRange.__Internal introducerRange; + + [FieldOffset(84)] internal __IntPtr callOperator; + + [FieldOffset(88)] internal byte isGenericLambda; + + [FieldOffset(92)] internal __IntPtr body; + + [FieldOffset(96)] internal byte isMutable; + + [FieldOffset(97)] internal byte hasExplicitParameters; + + [FieldOffset(98)] internal byte hasExplicitResultType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LambdaExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34863,7 +41399,7 @@ internal static LambdaExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.LambdaExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -34883,7 +41419,7 @@ protected LambdaExpr(void* native, bool skipVTables = false) public LambdaExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34892,7 +41428,7 @@ public LambdaExpr() public LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -34912,7 +41448,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -35070,27 +41606,64 @@ public uint GetcaptureInitsCount public unsafe partial class CXXScalarValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 60)] + [StructLayout(LayoutKind.Explicit, Size = 60)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXScalarValueInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35126,7 +41699,7 @@ internal static CXXScalarValueInitExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -35146,7 +41719,7 @@ protected CXXScalarValueInitExpr(void* native, bool skipVTables = false) public CXXScalarValueInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35155,7 +41728,7 @@ public CXXScalarValueInitExpr() public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) _0.__Instance); @@ -35177,41 +41750,106 @@ public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr public unsafe partial class CXXNewExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 132)] + [StructLayout(LayoutKind.Explicit, Size = 132)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ placement_arguments; + + [FieldOffset(68)] internal __IntPtr operatorNew; + + [FieldOffset(72)] internal __IntPtr operatorDelete; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal allocatedType; + + [FieldOffset(84)] internal byte isArray; + + [FieldOffset(88)] internal __IntPtr arraySize; + + [FieldOffset(92)] internal uint numPlacementArgs; + + [FieldOffset(96)] internal byte isParenTypeId; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceRange.__Internal typeIdParens; + + [FieldOffset(108)] internal byte isGlobalNew; + + [FieldOffset(109)] internal byte hasInitializer; + + [FieldOffset(112)] internal global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle; + + [FieldOffset(116)] internal __IntPtr initializer; + + [FieldOffset(120)] internal __IntPtr constructExpr; + + [FieldOffset(124)] internal global::CppSharp.Parser.SourceRange.__Internal directInitRange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXNewExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35269,7 +41907,7 @@ internal static CXXNewExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXNewExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -35289,7 +41927,7 @@ protected CXXNewExpr(void* native, bool skipVTables = false) public CXXNewExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35298,7 +41936,7 @@ public CXXNewExpr() public CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -35318,7 +41956,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -35548,32 +42186,79 @@ public uint GetplacementArgumentsCount public unsafe partial class CXXDeleteExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(53)] internal byte isGlobalDelete; + + [FieldOffset(54)] internal byte isArrayForm; + + [FieldOffset(55)] internal byte isArrayFormAsWritten; + + [FieldOffset(56)] internal __IntPtr operatorDelete; + + [FieldOffset(60)] internal __IntPtr argument; + + [FieldOffset(64)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXDeleteExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35609,7 +42294,7 @@ internal static CXXDeleteExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -35629,7 +42314,7 @@ protected CXXDeleteExpr(void* native, bool skipVTables = false) public CXXDeleteExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35638,7 +42323,7 @@ public CXXDeleteExpr() public CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) _0.__Instance); @@ -35729,34 +42414,85 @@ public bool IsArrayFormAsWritten public unsafe partial class CXXPseudoDestructorExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr @base; + + [FieldOffset(60)] internal byte hasQualifier; + + [FieldOffset(61)] internal byte isArrow; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal colonColonLoc; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal tildeLoc; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal destroyedTypeLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23CXXPseudoDestructorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35792,7 +42528,7 @@ internal static CXXPseudoDestructorExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -35812,7 +42548,7 @@ protected CXXPseudoDestructorExpr(void* native, bool skipVTables = false) public CXXPseudoDestructorExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35821,7 +42557,7 @@ public CXXPseudoDestructorExpr() public CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) _0.__Instance); @@ -35937,28 +42673,67 @@ public bool IsArrow public unsafe partial class TypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 60)] + [StructLayout(LayoutKind.Explicit, Size = 60)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(53)] internal byte value; + + [FieldOffset(56)] internal uint numArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13TypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35994,7 +42769,7 @@ internal static TypeTraitExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36014,7 +42789,7 @@ protected TypeTraitExpr(void* native, bool skipVTables = false) public TypeTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36023,7 +42798,7 @@ public TypeTraitExpr() public TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) _0.__Instance); @@ -36058,29 +42833,70 @@ public uint NumArgs public unsafe partial class ArrayTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 76)] + [StructLayout(LayoutKind.Explicit, Size = 76)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal queriedType; + + [FieldOffset(64)] internal ulong value; + + [FieldOffset(72)] internal __IntPtr dimensionExpression; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArrayTypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36116,7 +42932,7 @@ internal static ArrayTypeTraitExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36136,7 +42952,7 @@ protected ArrayTypeTraitExpr(void* native, bool skipVTables = false) public ArrayTypeTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36145,7 +42961,7 @@ public ArrayTypeTraitExpr() public ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) _0.__Instance); @@ -36196,28 +43012,67 @@ public ulong Value public unsafe partial class ExpressionTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr queriedExpression; + + [FieldOffset(60)] internal byte value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ExpressionTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36253,7 +43108,7 @@ internal static ExpressionTraitExpr __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36273,7 +43128,7 @@ protected ExpressionTraitExpr(void* native, bool skipVTables = false) public ExpressionTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36282,7 +43137,7 @@ public ExpressionTraitExpr() public ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) _0.__Instance); @@ -36318,34 +43173,85 @@ public bool Value public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 84)] + [StructLayout(LayoutKind.Explicit, Size = 84)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal uint numDecls; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(76)] internal byte hasTemplateKeyword; + + [FieldOffset(77)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(80)] internal uint numTemplateArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OverloadExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36360,7 +43266,7 @@ public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDi public unsafe partial class FindResult : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OverloadExpr10FindResultC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36414,7 +43320,7 @@ internal static FindResult __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36435,7 +43341,7 @@ protected FindResult(void* native, bool skipVTables = false) public FindResult() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36443,7 +43349,7 @@ public FindResult() public FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) _0.__Instance); @@ -36463,7 +43369,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -36494,7 +43400,7 @@ internal static OverloadExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36514,7 +43420,7 @@ protected OverloadExpr(void* native, bool skipVTables = false) public OverloadExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36523,7 +43429,7 @@ public OverloadExpr() public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -36532,7 +43438,7 @@ public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) public OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) _0.__Instance); @@ -36650,36 +43556,91 @@ public uint NumTemplateArgs public unsafe partial class UnresolvedLookupExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal uint numDecls; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(76)] internal byte hasTemplateKeyword; + + [FieldOffset(77)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(80)] internal uint numTemplateArgs; + + [FieldOffset(84)] internal byte requiresADL; + + [FieldOffset(85)] internal byte isOverloaded; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20UnresolvedLookupExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36715,7 +43676,7 @@ internal static UnresolvedLookupExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36735,7 +43696,7 @@ protected UnresolvedLookupExpr(void* native, bool skipVTables = false) public UnresolvedLookupExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36744,7 +43705,7 @@ public UnresolvedLookupExpr() public UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) _0.__Instance); @@ -36779,33 +43740,82 @@ public bool IsOverloaded public unsafe partial class DependentScopeDeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(72)] internal byte hasTemplateKeyword; + + [FieldOffset(73)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(76)] internal uint numTemplateArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25DependentScopeDeclRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36841,7 +43851,7 @@ internal static DependentScopeDeclRefExpr __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36861,7 +43871,7 @@ protected DependentScopeDeclRefExpr(void* native, bool skipVTables = false) public DependentScopeDeclRefExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36870,7 +43880,7 @@ public DependentScopeDeclRefExpr() public DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) _0.__Instance); @@ -36970,29 +43980,70 @@ public uint NumTemplateArgs public unsafe partial class ExprWithCleanups : global::CppSharp.Parser.AST.FullExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr subExpr; + + [FieldOffset(60)] internal uint numObjects; + + [FieldOffset(64)] internal byte cleanupsHaveSideEffects; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ExprWithCleanupsC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37028,7 +44079,7 @@ internal static ExprWithCleanups __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37048,7 +44099,7 @@ protected ExprWithCleanups(void* native, bool skipVTables = false) public ExprWithCleanups() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37057,7 +44108,7 @@ public ExprWithCleanups() public ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) _0.__Instance); @@ -37092,32 +44143,79 @@ public bool CleanupsHaveSideEffects public unsafe partial class CXXUnresolvedConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 92)] + [StructLayout(LayoutKind.Explicit, Size = 92)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(84)] internal byte isListInitialization; + + [FieldOffset(88)] internal uint arg_size; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37168,7 +44266,7 @@ internal static CXXUnresolvedConstructExpr __CreateInstance(__Internal native, b private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -37188,7 +44286,7 @@ protected CXXUnresolvedConstructExpr(void* native, bool skipVTables = false) public CXXUnresolvedConstructExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37197,7 +44295,7 @@ public CXXUnresolvedConstructExpr() public CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -37217,7 +44315,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -37321,39 +44419,100 @@ public uint GetargumentsCount public unsafe partial class CXXDependentScopeMemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(53)] internal byte isImplicitAccess; + + [FieldOffset(56)] internal __IntPtr @base; + + [FieldOffset(60)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(68)] internal byte isArrow; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(76)] internal __IntPtr firstQualifierFoundInScope; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(96)] internal byte hasTemplateKeyword; + + [FieldOffset(97)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(100)] internal uint numTemplateArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27CXXDependentScopeMemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37389,7 +44548,7 @@ internal static CXXDependentScopeMemberExpr __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37409,7 +44568,7 @@ protected CXXDependentScopeMemberExpr(void* native, bool skipVTables = false) public CXXDependentScopeMemberExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37418,7 +44577,7 @@ public CXXDependentScopeMemberExpr() public CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) _0.__Instance); @@ -37600,41 +44759,106 @@ public uint NumTemplateArgs public unsafe partial class UnresolvedMemberExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal uint numDecls; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(68)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(76)] internal byte hasTemplateKeyword; + + [FieldOffset(77)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(80)] internal uint numTemplateArgs; + + [FieldOffset(84)] internal byte isImplicitAccess; + + [FieldOffset(88)] internal __IntPtr @base; + + [FieldOffset(92)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(100)] internal byte hasUnresolvedUsing; + + [FieldOffset(101)] internal byte isArrow; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20UnresolvedMemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37670,7 +44894,7 @@ internal static UnresolvedMemberExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37690,7 +44914,7 @@ protected UnresolvedMemberExpr(void* native, bool skipVTables = false) public UnresolvedMemberExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37699,7 +44923,7 @@ public UnresolvedMemberExpr() public UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) _0.__Instance); @@ -37802,28 +45026,67 @@ public bool IsArrow public unsafe partial class CXXNoexceptExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr operand; + + [FieldOffset(60)] internal byte value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15CXXNoexceptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37859,7 +45122,7 @@ internal static CXXNoexceptExpr __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37879,7 +45142,7 @@ protected CXXNoexceptExpr(void* native, bool skipVTables = false) public CXXNoexceptExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37888,7 +45151,7 @@ public CXXNoexceptExpr() public CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) _0.__Instance); @@ -37924,28 +45187,67 @@ public bool Value public unsafe partial class PackExpansionExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr pattern; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17PackExpansionExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37981,7 +45283,7 @@ internal static PackExpansionExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38001,7 +45303,7 @@ protected PackExpansionExpr(void* native, bool skipVTables = false) public PackExpansionExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38010,7 +45312,7 @@ public PackExpansionExpr() public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) _0.__Instance); @@ -38046,32 +45348,79 @@ public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) public unsafe partial class SizeOfPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal packLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(68)] internal __IntPtr pack; + + [FieldOffset(72)] internal uint packLength; + + [FieldOffset(76)] internal byte isPartiallySubstituted; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14SizeOfPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38107,7 +45456,7 @@ internal static SizeOfPackExpr __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38127,7 +45476,7 @@ protected SizeOfPackExpr(void* native, bool skipVTables = false) public SizeOfPackExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38136,7 +45485,7 @@ public SizeOfPackExpr() public SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) _0.__Instance); @@ -38224,28 +45573,67 @@ public bool IsPartiallySubstituted public unsafe partial class SubstNonTypeTemplateParmExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(60)] internal __IntPtr replacement; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST28SubstNonTypeTemplateParmExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38281,7 +45669,7 @@ internal static SubstNonTypeTemplateParmExpr __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38301,7 +45689,7 @@ protected SubstNonTypeTemplateParmExpr(void* native, bool skipVTables = false) public SubstNonTypeTemplateParmExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38310,7 +45698,7 @@ public SubstNonTypeTemplateParmExpr() public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) _0.__Instance); @@ -38346,28 +45734,67 @@ public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemp public unsafe partial class SubstNonTypeTemplateParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(60)] internal global::CppSharp.Parser.AST.TemplateArgument.__Internal argumentPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST32SubstNonTypeTemplateParmPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38403,7 +45830,7 @@ internal static SubstNonTypeTemplateParmPackExpr __CreateInstance(__Internal nat private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38423,7 +45850,7 @@ protected SubstNonTypeTemplateParmPackExpr(void* native, bool skipVTables = fals public SubstNonTypeTemplateParmPackExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38432,7 +45859,7 @@ public SubstNonTypeTemplateParmPackExpr() public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) _0.__Instance); @@ -38469,28 +45896,67 @@ public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonType public unsafe partial class FunctionParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(60)] internal uint numExpansions; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20FunctionParmPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38526,7 +45992,7 @@ internal static FunctionParmPackExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38546,7 +46012,7 @@ protected FunctionParmPackExpr(void* native, bool skipVTables = false) public FunctionParmPackExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38555,7 +46021,7 @@ public FunctionParmPackExpr() public FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) _0.__Instance); @@ -38590,30 +46056,73 @@ public uint NumExpansions public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr temporary; + + [FieldOffset(60)] internal __IntPtr TemporaryExpr; + + [FieldOffset(64)] internal uint manglingNumber; + + [FieldOffset(68)] internal byte isBoundToLvalueReference; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38625,7 +46134,7 @@ public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.A public unsafe partial class ExtraState : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExpr10ExtraStateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38679,7 +46188,7 @@ internal static ExtraState __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38700,7 +46209,7 @@ protected ExtraState(void* native, bool skipVTables = false) public ExtraState() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38708,7 +46217,7 @@ public ExtraState() public ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) _0.__Instance); @@ -38728,7 +46237,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -38759,7 +46268,7 @@ internal static MaterializeTemporaryExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38779,7 +46288,7 @@ protected MaterializeTemporaryExpr(void* native, bool skipVTables = false) public MaterializeTemporaryExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38788,7 +46297,7 @@ public MaterializeTemporaryExpr() public MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) _0.__Instance); @@ -38851,34 +46360,85 @@ public bool IsBoundToLvalueReference public unsafe partial class CXXFoldExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 84)] + [StructLayout(LayoutKind.Explicit, Size = 84)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr lHS; + + [FieldOffset(60)] internal __IntPtr rHS; + + [FieldOffset(64)] internal byte isRightFold; + + [FieldOffset(65)] internal byte isLeftFold; + + [FieldOffset(68)] internal __IntPtr pattern; + + [FieldOffset(72)] internal __IntPtr init; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.BinaryOperatorKind _operator; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CXXFoldExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38914,7 +46474,7 @@ internal static CXXFoldExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38934,7 +46494,7 @@ protected CXXFoldExpr(void* native, bool skipVTables = false) public CXXFoldExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38943,7 +46503,7 @@ public CXXFoldExpr() public CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) _0.__Instance); @@ -39060,32 +46620,79 @@ public bool IsLeftFold public unsafe partial class CoroutineSuspendExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(60)] internal __IntPtr commonExpr; + + [FieldOffset(64)] internal __IntPtr opaqueValue; + + [FieldOffset(68)] internal __IntPtr readyExpr; + + [FieldOffset(72)] internal __IntPtr suspendExpr; + + [FieldOffset(76)] internal __IntPtr resumeExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39133,7 +46740,7 @@ internal static CoroutineSuspendExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39153,7 +46760,7 @@ protected CoroutineSuspendExpr(void* native, bool skipVTables = false) public CoroutineSuspendExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39162,7 +46769,7 @@ public CoroutineSuspendExpr() public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -39171,7 +46778,7 @@ public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) _0.__Instance); @@ -39268,34 +46875,85 @@ public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) public unsafe partial class CoawaitExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(60)] internal __IntPtr commonExpr; + + [FieldOffset(64)] internal __IntPtr opaqueValue; + + [FieldOffset(68)] internal __IntPtr readyExpr; + + [FieldOffset(72)] internal __IntPtr suspendExpr; + + [FieldOffset(76)] internal __IntPtr resumeExpr; + + [FieldOffset(80)] internal byte isImplicit; + + [FieldOffset(84)] internal __IntPtr operand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CoawaitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39331,7 +46989,7 @@ internal static CoawaitExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39351,7 +47009,7 @@ protected CoawaitExpr(void* native, bool skipVTables = false) public CoawaitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39360,7 +47018,7 @@ public CoawaitExpr() public CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) _0.__Instance); @@ -39396,29 +47054,70 @@ public bool IsImplicit public unsafe partial class DependentCoawaitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 68)] + [StructLayout(LayoutKind.Explicit, Size = 68)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal __IntPtr operand; + + [FieldOffset(60)] internal __IntPtr operatorCoawaitLookup; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20DependentCoawaitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39454,7 +47153,7 @@ internal static DependentCoawaitExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39474,7 +47173,7 @@ protected DependentCoawaitExpr(void* native, bool skipVTables = false) public DependentCoawaitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39483,7 +47182,7 @@ public DependentCoawaitExpr() public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) _0.__Instance); @@ -39533,33 +47232,82 @@ public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) public unsafe partial class CoyieldExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 84)] + [StructLayout(LayoutKind.Explicit, Size = 84)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(28)] internal byte valueDependent; + + [FieldOffset(29)] internal byte typeDependent; + + [FieldOffset(30)] internal byte instantiationDependent; + + [FieldOffset(31)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(36)] internal byte isLValue; + + [FieldOffset(37)] internal byte isRValue; + + [FieldOffset(38)] internal byte isXValue; + + [FieldOffset(39)] internal byte isGLValue; + + [FieldOffset(40)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(44)] internal __IntPtr sourceBitField; + + [FieldOffset(48)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(52)] internal byte hasPlaceholderType; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(60)] internal __IntPtr commonExpr; + + [FieldOffset(64)] internal __IntPtr opaqueValue; + + [FieldOffset(68)] internal __IntPtr readyExpr; + + [FieldOffset(72)] internal __IntPtr suspendExpr; + + [FieldOffset(76)] internal __IntPtr resumeExpr; + + [FieldOffset(80)] internal __IntPtr operand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CoyieldExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39595,7 +47343,7 @@ internal static CoyieldExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39615,7 +47363,7 @@ protected CoyieldExpr(void* native, bool skipVTables = false) public CoyieldExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39624,7 +47372,7 @@ public CoyieldExpr() public CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) _0.__Instance); @@ -39669,49 +47417,130 @@ public enum ParserIntType public unsafe partial class ParserTargetInfo : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 172)] + [StructLayout(LayoutKind.Explicit, Size = 172)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C ABI; + + [FieldOffset(12)] internal global::CppSharp.Parser.ParserIntType char16Type; + + [FieldOffset(16)] internal global::CppSharp.Parser.ParserIntType char32Type; + + [FieldOffset(20)] internal global::CppSharp.Parser.ParserIntType int64Type; + + [FieldOffset(24)] internal global::CppSharp.Parser.ParserIntType intMaxType; + + [FieldOffset(28)] internal global::CppSharp.Parser.ParserIntType intPtrType; + + [FieldOffset(32)] internal global::CppSharp.Parser.ParserIntType sizeType; + + [FieldOffset(36)] internal global::CppSharp.Parser.ParserIntType uIntMaxType; + + [FieldOffset(40)] internal global::CppSharp.Parser.ParserIntType wCharType; + + [FieldOffset(44)] internal global::CppSharp.Parser.ParserIntType wIntType; + + [FieldOffset(48)] internal uint boolAlign; + + [FieldOffset(52)] internal uint boolWidth; + + [FieldOffset(56)] internal uint charAlign; + + [FieldOffset(60)] internal uint charWidth; + + [FieldOffset(64)] internal uint char16Align; + + [FieldOffset(68)] internal uint char16Width; + + [FieldOffset(72)] internal uint char32Align; + + [FieldOffset(76)] internal uint char32Width; + + [FieldOffset(80)] internal uint halfAlign; + + [FieldOffset(84)] internal uint halfWidth; + + [FieldOffset(88)] internal uint floatAlign; + + [FieldOffset(92)] internal uint floatWidth; + + [FieldOffset(96)] internal uint doubleAlign; + + [FieldOffset(100)] internal uint doubleWidth; + + [FieldOffset(104)] internal uint shortAlign; + + [FieldOffset(108)] internal uint shortWidth; + + [FieldOffset(112)] internal uint intAlign; + + [FieldOffset(116)] internal uint intWidth; + + [FieldOffset(120)] internal uint intMaxTWidth; + + [FieldOffset(124)] internal uint longAlign; + + [FieldOffset(128)] internal uint longWidth; + + [FieldOffset(132)] internal uint longDoubleAlign; + + [FieldOffset(136)] internal uint longDoubleWidth; + + [FieldOffset(140)] internal uint longLongAlign; + + [FieldOffset(144)] internal uint longLongWidth; + + [FieldOffset(148)] internal uint pointerAlign; + + [FieldOffset(152)] internal uint pointerWidth; + + [FieldOffset(156)] internal uint wCharAlign; + + [FieldOffset(160)] internal uint wCharWidth; + + [FieldOffset(164)] internal uint float128Align; + + [FieldOffset(168)] internal uint float128Width; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfoC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39722,6 +47551,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfoD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfo6getABIEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetABI(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfo6setABIEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetABI(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -39768,7 +47603,7 @@ internal static ParserTargetInfo __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.ParserTargetInfo.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -39789,7 +47624,7 @@ protected ParserTargetInfo(void* native, bool skipVTables = false) public ParserTargetInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39797,7 +47632,7 @@ public ParserTargetInfo() public ParserTargetInfo(global::CppSharp.Parser.ParserTargetInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -39822,24 +47657,10 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string ABI - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->ABI)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->ABI), value); - } - } - public global::CppSharp.Parser.ParserIntType Char16Type { get @@ -40359,6 +48180,20 @@ public uint Float128Width ((__Internal*)__Instance)->float128Width = value; } } + + public string ABI + { + get + { + var ___ret = __Internal.GetABI(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetABI(__Instance, value); + } + } } } } @@ -40442,7 +48277,7 @@ internal static Parser __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -40464,30 +48299,74 @@ protected Parser(void* native, bool skipVTables = false) public unsafe partial class CppParserOptions : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 148)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(12)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ CompilationOptions; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C LibraryFile; + + [FieldOffset(36)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ SourceFiles; + + [FieldOffset(48)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ IncludeDirs; + + [FieldOffset(60)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ SystemIncludeDirs; + + [FieldOffset(72)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Defines; + + [FieldOffset(84)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Undefines; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ SupportedStdTypes; + + [FieldOffset(108)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ SupportedFunctionTemplates; + + [FieldOffset(120)] internal __IntPtr ASTContext; + + [FieldOffset(124)] internal int toolSetToUse; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C targetTriple; + + [FieldOffset(128)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C TargetTriple; + + [FieldOffset(140)] + internal global::CppSharp.Parser.AST.CppAbi abi; + + [FieldOffset(144)] internal byte noStandardIncludes; + + [FieldOffset(145)] internal byte noBuiltinIncludes; + + [FieldOffset(146)] internal byte microsoftMode; + + [FieldOffset(147)] internal byte verbose; + + [FieldOffset(148)] internal byte unityBuild; + + [FieldOffset(149)] internal byte skipPrivateDeclarations; + + [FieldOffset(150)] internal byte skipLayoutInfo; + + [FieldOffset(151)] internal byte skipFunctionBodies; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C clangVersion; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptionsC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -40580,7 +48459,7 @@ public partial struct __Internal internal static extern void ClearSupportedFunctionTemplates(__IntPtr __instance); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15getClangVersionEv", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void GetClangVersion(__IntPtr @return, __IntPtr __instance); + internal static extern __IntPtr GetClangVersion(); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetArgumentsCount(__IntPtr __instance); @@ -40588,6 +48467,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions26getCompilationOptionsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetCompilationOptionsCount(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14getLibraryFileEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetLibraryFile(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14setLibraryFileEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetLibraryFile(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions19getSourceFilesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSourceFilesCount(__IntPtr __instance); @@ -40608,6 +48493,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions34getSupportedFunctionTemplatesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSupportedFunctionTemplatesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15getTargetTripleEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTargetTriple(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15setTargetTripleEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTargetTriple(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -40654,7 +48545,7 @@ internal static CppParserOptions __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.CppParserOptions.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -40675,7 +48566,7 @@ protected CppParserOptions(void* native, bool skipVTables = false) public CppParserOptions() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppParserOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppParserOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -40683,7 +48574,7 @@ public CppParserOptions() public CppParserOptions(global::CppSharp.Parser.CppParserOptions _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppParserOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppParserOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -40708,7 +48599,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -40883,17 +48774,16 @@ public int ToolSetToUse } } - public string TargetTriple + public global::CppSharp.Parser.AST.CppAbi Abi { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->targetTriple)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->abi; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->targetTriple), value); + ((__Internal*)__Instance)->abi = value; } } @@ -41001,16 +48891,12 @@ public bool SkipFunctionBodies } } - public string ClangVersion + public static string ClangVersion { get { - var ___ret = new global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(); - __Internal.GetClangVersion(new IntPtr(&___ret), __Instance); - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&___ret)); - var __retString0 = global::Std.BasicStringExtensions.Data(__basicStringRet0); - __basicStringRet0.Dispose(); - return __retString0; + var ___ret = __Internal.GetClangVersion(); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } } @@ -41032,6 +48918,20 @@ public uint CompilationOptionsCount } } + public string LibraryFile + { + get + { + var ___ret = __Internal.GetLibraryFile(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetLibraryFile(__Instance, value); + } + } + public uint SourceFilesCount { get @@ -41094,15 +48994,34 @@ public uint SupportedFunctionTemplatesCount return ___ret; } } + + public string TargetTriple + { + get + { + var ___ret = __Internal.GetTargetTriple(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetTargetTriple(__Instance, value); + } + } } public unsafe partial class CppLinkerOptions : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 36)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(12)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ LibraryDirs; + + [FieldOffset(24)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Libraries; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptionsC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -41195,7 +49114,7 @@ internal static CppLinkerOptions __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.CppLinkerOptions.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -41216,7 +49135,7 @@ protected CppLinkerOptions(void* native, bool skipVTables = false) public CppLinkerOptions() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -41224,7 +49143,7 @@ public CppLinkerOptions() public CppLinkerOptions(global::CppSharp.Parser.CppLinkerOptions _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -41249,7 +49168,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -41331,13 +49250,22 @@ public uint LibrariesCount public unsafe partial class ParserDiagnostic : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 36)] + [StructLayout(LayoutKind.Explicit, Size = 36)] public partial struct __Internal { - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C message; + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C FileName; + + [FieldOffset(12)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Message; + + [FieldOffset(24)] internal global::CppSharp.Parser.ParserDiagnosticLevel level; + + [FieldOffset(28)] internal int lineNumber; + + [FieldOffset(32)] internal int columnNumber; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnosticC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -41348,6 +49276,18 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnosticD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic11getFileNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFileName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic11setFileNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetFileName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic10getMessageEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMessage(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic10setMessageEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMessage(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -41394,7 +49334,7 @@ internal static ParserDiagnostic __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.ParserDiagnostic.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -41415,7 +49355,7 @@ protected ParserDiagnostic(void* native, bool skipVTables = false) public ParserDiagnostic() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -41423,7 +49363,7 @@ public ParserDiagnostic() public ParserDiagnostic(global::CppSharp.Parser.ParserDiagnostic _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -41448,86 +49388,93 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string FileName + public global::CppSharp.Parser.ParserDiagnosticLevel Level { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->level; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + ((__Internal*)__Instance)->level = value; } } - public string Message + public int LineNumber { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->message)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->lineNumber; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->message), value); + ((__Internal*)__Instance)->lineNumber = value; } } - public global::CppSharp.Parser.ParserDiagnosticLevel Level + public int ColumnNumber { get { - return ((__Internal*)__Instance)->level; + return ((__Internal*)__Instance)->columnNumber; } set { - ((__Internal*)__Instance)->level = value; + ((__Internal*)__Instance)->columnNumber = value; } } - public int LineNumber + public string FileName { get { - return ((__Internal*)__Instance)->lineNumber; + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->lineNumber = value; + __Internal.SetFileName(__Instance, value); } } - public int ColumnNumber + public string Message { get { - return ((__Internal*)__Instance)->columnNumber; + var ___ret = __Internal.GetMessage(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->columnNumber = value; + __Internal.SetMessage(__Instance, value); } } } public unsafe partial class ParserResult : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.ParserResultKind kind; + + [FieldOffset(4)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_N___1_S_allocator__S0_ Diagnostics; + + [FieldOffset(16)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_NativeLibrary___N_std_N___1_S_allocator__S0_ Libraries; + + [FieldOffset(28)] internal __IntPtr targetInfo; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResultC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -41608,7 +49555,7 @@ internal static ParserResult __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.ParserResult.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -41629,7 +49576,7 @@ protected ParserResult(void* native, bool skipVTables = false) public ParserResult() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -41637,7 +49584,7 @@ public ParserResult() public ParserResult(global::CppSharp.Parser.ParserResult _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -41662,7 +49609,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -41757,7 +49704,7 @@ public uint LibrariesCount public unsafe partial class ClangParser : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParserC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] @@ -41769,14 +49716,14 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser12ParseLibraryEPNS0_16CppLinkerOptionsE", CallingConvention = __CallingConvention.Cdecl)] internal static extern __IntPtr ParseLibrary(__IntPtr Opts); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser5BuildEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsERKNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEb", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr Build(__IntPtr Opts, __IntPtr LinkerOptions, __IntPtr File, bool Last); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser5BuildEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsEPKcb", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Build(__IntPtr Opts, __IntPtr LinkerOptions, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File, bool Last); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser7CompileEPNS0_16CppParserOptionsERKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr Compile(__IntPtr Opts, __IntPtr File); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser7CompileEPNS0_16CppParserOptionsEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Compile(__IntPtr Opts, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser4LinkEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsERKNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEb", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr Link(__IntPtr Opts, __IntPtr LinkerOptions, __IntPtr File, bool Last); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser4LinkEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsEPKcb", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Link(__IntPtr Opts, __IntPtr LinkerOptions, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File, bool Last); } public __IntPtr __Instance { get; protected set; } @@ -41823,7 +49770,7 @@ internal static ClangParser __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -41844,14 +49791,14 @@ protected ClangParser(void* native, bool skipVTables = false) public ClangParser() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ClangParser.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ClangParser.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } public ClangParser(global::CppSharp.Parser.ClangParser _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ClangParser.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ClangParser.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.ClangParser.__Internal*) __Instance) = *((global::CppSharp.Parser.ClangParser.__Internal*) _0.__Instance); @@ -41871,7 +49818,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -41895,11 +49842,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) { var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; var __arg1 = LinkerOptions is null ? __IntPtr.Zero : LinkerOptions.__Instance; - var __basicString2 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString2, File); - var __arg2 = __basicString2.__Instance; - var ___ret = __Internal.Build(__arg0, __arg1, __arg2, Last); - __basicString2.Dispose(); + var ___ret = __Internal.Build(__arg0, __arg1, File, Last); var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); return __result0; } @@ -41907,11 +49850,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public static global::CppSharp.Parser.ParserResult Compile(global::CppSharp.Parser.CppParserOptions Opts, string File) { var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; - var __basicString1 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString1, File); - var __arg1 = __basicString1.__Instance; - var ___ret = __Internal.Compile(__arg0, __arg1); - __basicString1.Dispose(); + var ___ret = __Internal.Compile(__arg0, File); var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); return __result0; } @@ -41920,11 +49859,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) { var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; var __arg1 = LinkerOptions is null ? __IntPtr.Zero : LinkerOptions.__Instance; - var __basicString2 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString2, File); - var __arg2 = __basicString2.__Instance; - var ___ret = __Internal.Link(__arg0, __arg1, __arg2, Last); - __basicString2.Dispose(); + var ___ret = __Internal.Link(__arg0, __arg1, File, Last); var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); return __result0; } @@ -41936,243 +49871,283 @@ namespace Std { namespace CompressedPair { - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_NativeLibrary___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] - public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair__l___N_std_N___1_S___map_value_compare____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_U___value_type__S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S1__Vb1 + [StructLayout(LayoutKind.Explicit, Size = 4)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair__l___N_std_N___1_S___map_value_compare____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S___value_type__S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S1__Vb1 { + [FieldOffset(0)] internal uint __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] - public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S___tree_end_node_____N_std_N___1_S___tree_node_base___v___N_std_N___1_S_allocator____N_std_N___1_S___tree_node____N_std_N___1_U___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration_S3_ + [StructLayout(LayoutKind.Explicit, Size = 4)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S___tree_end_node_____N_std_N___1_S___tree_node_base___v___N_std_N___1_S_allocator____N_std_N___1_S___tree_node____N_std_N___1_S___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration_S3_ { + [FieldOffset(0)] internal global::Std.TreeEndNode.__Internal_Ptr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } } @@ -42182,307 +50157,497 @@ namespace Std { namespace Vector { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_NativeLibrary___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_NativeLibrary___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(4)] internal __IntPtr __end_; + + [FieldOffset(8)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S1_ __end_cap_; } } @@ -42492,12 +50657,17 @@ namespace Std { namespace Tree { - [StructLayout(LayoutKind.Sequential, Size = 12)] - public unsafe partial struct __Internalc__N_std_N___1_S___tree____N_std_N___1_U___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S___map_value_compare__S1__S0____N_std_N___1_S_less__S1__Vb1___N_std_N___1_S_allocator__S0_ + [StructLayout(LayoutKind.Explicit, Size = 12)] + public unsafe partial struct __Internalc__N_std_N___1_S___tree____N_std_N___1_S___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S___map_value_compare__S1__S0____N_std_N___1_S_less__S1__Vb1___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_node_; - internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S___tree_end_node_____N_std_N___1_S___tree_node_base___v___N_std_N___1_S_allocator____N_std_N___1_S___tree_node____N_std_N___1_U___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration_S3_ __pair1_; - internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair__l___N_std_N___1_S___map_value_compare____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_U___value_type__S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S1__Vb1 __pair3_; + + [FieldOffset(4)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S___tree_end_node_____N_std_N___1_S___tree_node_base___v___N_std_N___1_S_allocator____N_std_N___1_S___tree_node____N_std_N___1_S___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration_S3_ __pair1_; + + [FieldOffset(8)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair__l___N_std_N___1_S___map_value_compare____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S___value_type__S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S1__Vb1 __pair3_; } } @@ -42506,10 +50676,11 @@ namespace Std { namespace Map { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ { - internal global::Std.Tree.__Internalc__N_std_N___1_S___tree____N_std_N___1_U___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S___map_value_compare__S1__S0____N_std_N___1_S_less__S1__Vb1___N_std_N___1_S_allocator__S0_ __tree_; + [FieldOffset(0)] + internal global::Std.Tree.__Internalc__N_std_N___1_S___tree____N_std_N___1_S___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S___map_value_compare__S1__S0____N_std_N___1_S_less__S1__Vb1___N_std_N___1_S_allocator__S0_ __tree_; } } } diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.dll-templates.cpp b/src/CppParser/Bindings/CSharp/i686-apple-darwin/CppSharp.CppParser.dll-templates.cpp similarity index 100% rename from src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.dll-templates.cpp rename to src/CppParser/Bindings/CSharp/i686-apple-darwin/CppSharp.CppParser.dll-templates.cpp diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std-symbols.cpp b/src/CppParser/Bindings/CSharp/i686-apple-darwin/Std-symbols.cpp similarity index 96% rename from src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std-symbols.cpp rename to src/CppParser/Bindings/CSharp/i686-apple-darwin/Std-symbols.cpp index 26e5ae1647..c4b4b67673 100644 --- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std-symbols.cpp +++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin/Std-symbols.cpp @@ -1,5 +1,6 @@ #define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS #define _LIBCPP_HIDE_FROM_ABI +#define _LIBCPP_NO_ABI_TAG #include #include diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin/Std.cs similarity index 85% rename from src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs rename to src/CppParser/Bindings/CSharp/i686-apple-darwin/Std.cs index f6c861347f..da27b77566 100644 --- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs +++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin/Std.cs @@ -8,6 +8,7 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; +using __NativeMemory = global::System.Runtime.InteropServices.NativeMemory; using __CallingConvention = global::System.Runtime.InteropServices.CallingConvention; using __IntPtr = global::System.IntPtr; @@ -36,50 +37,47 @@ namespace Std namespace Std { - namespace CompressedPair - { - [StructLayout(LayoutKind.Sequential, Size = 12)] - public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C_S___rep_S2_ - { - internal global::Std.BasicString.Rep.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C __value_; - } +} - [StructLayout(LayoutKind.Sequential, Size = 4)] - public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S1_ - { - internal __IntPtr __value_; - } +namespace Std +{ +} - [StructLayout(LayoutKind.Sequential, Size = 4)] - public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair___i___N_std_N___1_S_allocator__i - { - internal __IntPtr __value_; - } - } +namespace Std +{ +} - namespace Allocator +namespace Std +{ +} + +namespace Std +{ +} + +namespace Std +{ + namespace CharTraits { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public unsafe partial struct __Internal { - [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__19allocatorIcEC2Ev", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctorc__N_std_N___1_S_allocator__C(__IntPtr __instance); } } - public unsafe partial class Allocator<_Tp> : IDisposable + public unsafe partial class CharTraits<_CharT> : IDisposable { public __IntPtr __Instance { get; protected set; } - internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary> NativeToManagedMap = - new global::System.Collections.Concurrent.ConcurrentDictionary>(); + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary> NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary>(); - internal static void __RecordNativeToManagedMapping(IntPtr native, global::Std.Allocator<_Tp> managed) + internal static void __RecordNativeToManagedMapping(IntPtr native, global::Std.CharTraits<_CharT> managed) { NativeToManagedMap[native] = managed; } - internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::Std.Allocator<_Tp> managed) + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::Std.CharTraits<_CharT> managed) { return NativeToManagedMap.TryGetValue(native, out managed); @@ -87,65 +85,51 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::S protected bool __ownsNativeInstance; - internal static Allocator<_Tp> __CreateInstance(__IntPtr native, bool skipVTables = false) + internal static CharTraits<_CharT> __CreateInstance(__IntPtr native, bool skipVTables = false) { if (native == __IntPtr.Zero) return null; - return new Allocator<_Tp>(native.ToPointer(), skipVTables); + return new CharTraits<_CharT>(native.ToPointer(), skipVTables); } - internal static Allocator<_Tp> __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + internal static CharTraits<_CharT> __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) { if (native == __IntPtr.Zero) return null; if (__TryGetNativeToManagedMapping(native, out var managed)) - return (Allocator<_Tp>)managed; + return (CharTraits<_CharT>)managed; var result = __CreateInstance(native, skipVTables); if (saveInstance) __RecordNativeToManagedMapping(native, result); return result; } - internal static Allocator<_Tp> __CreateInstance(global::Std.Allocator.__Internal native, bool skipVTables = false) + internal static CharTraits<_CharT> __CreateInstance(global::Std.CharTraits.__Internal native, bool skipVTables = false) { - return new Allocator<_Tp>(native, skipVTables); + return new CharTraits<_CharT>(native, skipVTables); } - private static void* __CopyValue(global::Std.Allocator.__Internal native) + private static void* __CopyValue(global::Std.CharTraits.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::Std.Allocator.__Internal)); - *(global::Std.Allocator.__Internal*) ret = native; + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.CharTraits.__Internal), 16); + *(global::Std.CharTraits.__Internal*) ret = native; return ret.ToPointer(); } - private Allocator(global::Std.Allocator.__Internal native, bool skipVTables = false) + private CharTraits(global::Std.CharTraits.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } - protected Allocator(void* native, bool skipVTables = false) + protected CharTraits(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new __IntPtr(native); } - public Allocator() - { - var ___Tp = typeof(_Tp); - if (___Tp.IsAssignableFrom(typeof(sbyte))) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::Std.Allocator.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - global::Std.Allocator.__Internal.ctorc__N_std_N___1_S_allocator__C(__Instance); - return; - } - throw new ArgumentOutOfRangeException("_Tp", string.Join(", ", new[] { typeof(_Tp).FullName }), "global::Std.Allocator<_Tp> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: ."); - } - public void Dispose() { Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); @@ -160,7 +144,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -168,65 +152,68 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) namespace Std { - namespace Vector +} + +namespace Std +{ +} + +namespace Std +{ +} + +namespace Std +{ + namespace CompressedPair { - [StructLayout(LayoutKind.Sequential, Size = 12)] - public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ + [StructLayout(LayoutKind.Explicit, Size = 12)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C_S___rep_S2_ { - internal __IntPtr __begin_; - internal __IntPtr __end_; - internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S1_ __end_cap_; + [FieldOffset(0)] + internal global::Std.BasicString.Rep.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C __value_; } - [StructLayout(LayoutKind.Sequential, Size = 12)] - public unsafe partial struct __Internalc__N_std_N___1_S_vector__i___N_std_N___1_S_allocator__i + [StructLayout(LayoutKind.Explicit, Size = 4)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S1_ { - internal __IntPtr __begin_; - internal __IntPtr __end_; - internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair___i___N_std_N___1_S_allocator__i __end_cap_; + [FieldOffset(0)] + internal __IntPtr __value_; } - } -} -namespace Std -{ - namespace TreeEndNode - { - [StructLayout(LayoutKind.Sequential, Size = 4)] - public unsafe partial struct __Internal_Ptr + [StructLayout(LayoutKind.Explicit, Size = 4)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair___i___N_std_N___1_S_allocator__i { - internal __IntPtr __left_; + [FieldOffset(0)] + internal __IntPtr __value_; } } } namespace Std { -} - -namespace Std -{ - namespace CharTraits + namespace Allocator { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public unsafe partial struct __Internal { + [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__19allocatorIcEC2B8un170006Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ctorc__N_std_N___1_S_allocator__C(__IntPtr __instance); } } - public unsafe partial class CharTraits<_CharT> : IDisposable + public unsafe partial class Allocator<_Tp> : IDisposable { public __IntPtr __Instance { get; protected set; } - internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary> NativeToManagedMap = - new global::System.Collections.Concurrent.ConcurrentDictionary>(); + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary> NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary>(); - internal static void __RecordNativeToManagedMapping(IntPtr native, global::Std.CharTraits<_CharT> managed) + internal static void __RecordNativeToManagedMapping(IntPtr native, global::Std.Allocator<_Tp> managed) { NativeToManagedMap[native] = managed; } - internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::Std.CharTraits<_CharT> managed) + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::Std.Allocator<_Tp> managed) { return NativeToManagedMap.TryGetValue(native, out managed); @@ -234,51 +221,65 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::S protected bool __ownsNativeInstance; - internal static CharTraits<_CharT> __CreateInstance(__IntPtr native, bool skipVTables = false) + internal static Allocator<_Tp> __CreateInstance(__IntPtr native, bool skipVTables = false) { if (native == __IntPtr.Zero) return null; - return new CharTraits<_CharT>(native.ToPointer(), skipVTables); + return new Allocator<_Tp>(native.ToPointer(), skipVTables); } - internal static CharTraits<_CharT> __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + internal static Allocator<_Tp> __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) { if (native == __IntPtr.Zero) return null; if (__TryGetNativeToManagedMapping(native, out var managed)) - return (CharTraits<_CharT>)managed; + return (Allocator<_Tp>)managed; var result = __CreateInstance(native, skipVTables); if (saveInstance) __RecordNativeToManagedMapping(native, result); return result; } - internal static CharTraits<_CharT> __CreateInstance(global::Std.CharTraits.__Internal native, bool skipVTables = false) + internal static Allocator<_Tp> __CreateInstance(global::Std.Allocator.__Internal native, bool skipVTables = false) { - return new CharTraits<_CharT>(native, skipVTables); + return new Allocator<_Tp>(native, skipVTables); } - private static void* __CopyValue(global::Std.CharTraits.__Internal native) + private static void* __CopyValue(global::Std.Allocator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::Std.CharTraits.__Internal)); - *(global::Std.CharTraits.__Internal*) ret = native; + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.Allocator.__Internal), 16); + *(global::Std.Allocator.__Internal*) ret = native; return ret.ToPointer(); } - private CharTraits(global::Std.CharTraits.__Internal native, bool skipVTables = false) + private Allocator(global::Std.Allocator.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } - protected CharTraits(void* native, bool skipVTables = false) + protected Allocator(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new __IntPtr(native); } + public Allocator() + { + var ___Tp = typeof(_Tp); + if (___Tp.IsAssignableFrom(typeof(sbyte))) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.Allocator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + global::Std.Allocator.__Internal.ctorc__N_std_N___1_S_allocator__C(__Instance); + return; + } + throw new ArgumentOutOfRangeException("_Tp", string.Join(", ", new[] { typeof(_Tp).FullName }), "global::Std.Allocator<_Tp> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: ."); + } + public void Dispose() { Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); @@ -293,7 +294,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -303,16 +304,20 @@ namespace Std { namespace BasicString { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C { + [FieldOffset(0)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C_S___rep_S2_ __r_; - [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2Ev", CallingConvention = __CallingConvention.Cdecl)] + [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170006Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(__IntPtr __instance); [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Assignc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string __s); } namespace Rep @@ -351,14 +356,36 @@ public unsafe partial struct __Internal namespace Long { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internal { + [FieldOffset(0)] + internal uint __is_long_; + + [FieldOffset(0)] internal uint __cap_; + + [FieldOffset(4)] internal uint __size_; + + [FieldOffset(8)] internal __IntPtr __data_; } + namespace _0 + { + [StructLayout(LayoutKind.Explicit, Size = 4)] + public unsafe partial struct __Internal + { + [FieldOffset(0)] + internal uint __is_long_; + + [FieldOffset(0)] + internal uint __cap_; + } + + } + } namespace Short @@ -367,10 +394,13 @@ namespace Short public unsafe partial struct __Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C { [FieldOffset(0)] - internal byte __size_; + internal byte __is_long_; [FieldOffset(0)] - internal sbyte __lx; + internal byte __size_; + + [FieldOffset(1)] + internal __IntPtr __padding_; [FieldOffset(1)] internal fixed sbyte __data_[11]; @@ -382,10 +412,10 @@ namespace _0 public unsafe partial struct __Internal { [FieldOffset(0)] - internal byte __size_; + internal byte __is_long_; [FieldOffset(0)] - internal sbyte __lx; + internal byte __size_; } } @@ -394,9 +424,10 @@ public unsafe partial struct __Internal namespace Raw { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public unsafe partial struct __Internal { + [FieldOffset(0)] internal fixed uint __words[3]; } } @@ -449,7 +480,7 @@ internal static BasicString<_CharT, _Traits, _Allocator> __CreateInstance(global private static void* __CopyValue(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C native) { - var ret = Marshal.AllocHGlobal(sizeof(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C), 16); *(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C*) ret = native; return ret.ToPointer(); } @@ -475,7 +506,7 @@ public BasicString() var ___Allocator = typeof(_Allocator); if (___CharT.IsAssignableFrom(typeof(sbyte)) && ___Traits.IsAssignableFrom(typeof(global::Std.CharTraits)) && ___Allocator.IsAssignableFrom(typeof(global::Std.Allocator))) { - __Instance = Marshal.AllocHGlobal(sizeof(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C.ctorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(__Instance); @@ -510,7 +541,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) throw new ArgumentOutOfRangeException("_CharT, _Traits, _Allocator", string.Join(", ", new[] { typeof(_CharT).FullName, typeof(_Traits).FullName, typeof(_Allocator).FullName }), "global::Std.BasicString<_CharT, _Traits, _Allocator> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: , global::Std.Allocator>."); } if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -519,21 +550,10 @@ public unsafe static partial class BasicStringExtensions { public partial struct __Internal { - [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr Assign(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string __s); - - [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv", CallingConvention = __CallingConvention.Cdecl)] + [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataB8un170006Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern __IntPtr Data(__IntPtr __instance); } - public static global::Std.BasicString, global::Std.Allocator> Assign(this global::Std.BasicString, global::Std.Allocator> @this, string __s) - { - var __arg0 = @this is null ? __IntPtr.Zero : @this.__Instance; - var ___ret = __Internal.Assign(__arg0, __s); - var __result0 = global::Std.BasicString, global::Std.Allocator>.__GetOrCreateInstance(___ret, false); - return __result0; - } - public static string Data(this global::Std.BasicString, global::Std.Allocator> @this) { var __arg0 = @this is null ? __IntPtr.Zero : @this.__Instance; @@ -542,3 +562,52 @@ public static string Data(this global::Std.BasicString #include diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin/CppSharp.CppParser-symbols.cpp b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin/CppSharp.CppParser-symbols.cpp new file mode 100644 index 0000000000..38c9d198b1 --- /dev/null +++ b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin/CppSharp.CppParser-symbols.cpp @@ -0,0 +1,378 @@ +#include +#include +#include +#include + +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_NativeLibrary_NativeLibrary___1__N_CppSharp_N_CppParser_N_AST_S_NativeLibrary(void* __instance, const CppSharp::CppParser::AST::NativeLibrary& _0) { ::new (__instance) CppSharp::CppParser::AST::NativeLibrary(_0); } +class CppSharp::CppParser::AST::NativeLibrary& (CppSharp::CppParser::AST::NativeLibrary::*_0)(const class CppSharp::CppParser::AST::NativeLibrary&) = &CppSharp::CppParser::AST::NativeLibrary::operator=; +class CppSharp::CppParser::AST::Comment& (CppSharp::CppParser::AST::Comment::*_1)(class CppSharp::CppParser::AST::Comment&&) = &CppSharp::CppParser::AST::Comment::operator=; +class CppSharp::CppParser::AST::BlockContentComment& (CppSharp::CppParser::AST::BlockContentComment::*_2)(class CppSharp::CppParser::AST::BlockContentComment&&) = &CppSharp::CppParser::AST::BlockContentComment::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_FullComment_FullComment___1__N_CppSharp_N_CppParser_N_AST_S_FullComment(void* __instance, const CppSharp::CppParser::AST::FullComment& _0) { ::new (__instance) CppSharp::CppParser::AST::FullComment(_0); } +class CppSharp::CppParser::AST::FullComment& (CppSharp::CppParser::AST::FullComment::*_3)(const class CppSharp::CppParser::AST::FullComment&) = &CppSharp::CppParser::AST::FullComment::operator=; +class CppSharp::CppParser::AST::InlineContentComment& (CppSharp::CppParser::AST::InlineContentComment::*_4)(class CppSharp::CppParser::AST::InlineContentComment&&) = &CppSharp::CppParser::AST::InlineContentComment::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_ParagraphComment_ParagraphComment___1__N_CppSharp_N_CppParser_N_AST_S_ParagraphComment(void* __instance, const CppSharp::CppParser::AST::ParagraphComment& _0) { ::new (__instance) CppSharp::CppParser::AST::ParagraphComment(_0); } +class CppSharp::CppParser::AST::ParagraphComment& (CppSharp::CppParser::AST::ParagraphComment::*_5)(const class CppSharp::CppParser::AST::ParagraphComment&) = &CppSharp::CppParser::AST::ParagraphComment::operator=; +class CppSharp::CppParser::AST::BlockCommandComment::Argument& (CppSharp::CppParser::AST::BlockCommandComment::Argument::*_6)(const class CppSharp::CppParser::AST::BlockCommandComment::Argument&) = &CppSharp::CppParser::AST::BlockCommandComment::Argument::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_BlockCommandComment___1__N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment(void* __instance, const CppSharp::CppParser::AST::BlockCommandComment& _0) { ::new (__instance) CppSharp::CppParser::AST::BlockCommandComment(_0); } +class CppSharp::CppParser::AST::BlockCommandComment& (CppSharp::CppParser::AST::BlockCommandComment::*_7)(const class CppSharp::CppParser::AST::BlockCommandComment&) = &CppSharp::CppParser::AST::BlockCommandComment::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_ParamCommandComment_ParamCommandComment___1__N_CppSharp_N_CppParser_N_AST_S_ParamCommandComment(void* __instance, const CppSharp::CppParser::AST::ParamCommandComment& _0) { ::new (__instance) CppSharp::CppParser::AST::ParamCommandComment(_0); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_ParamCommandComment__ParamCommandComment(CppSharp::CppParser::AST::ParamCommandComment*__instance) { __instance->~ParamCommandComment(); } +class CppSharp::CppParser::AST::ParamCommandComment& (CppSharp::CppParser::AST::ParamCommandComment::*_8)(const class CppSharp::CppParser::AST::ParamCommandComment&) = &CppSharp::CppParser::AST::ParamCommandComment::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TParamCommandComment_TParamCommandComment___1__N_CppSharp_N_CppParser_N_AST_S_TParamCommandComment(void* __instance, const CppSharp::CppParser::AST::TParamCommandComment& _0) { ::new (__instance) CppSharp::CppParser::AST::TParamCommandComment(_0); } +class CppSharp::CppParser::AST::TParamCommandComment& (CppSharp::CppParser::AST::TParamCommandComment::*_9)(class CppSharp::CppParser::AST::TParamCommandComment&&) = &CppSharp::CppParser::AST::TParamCommandComment::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TParamCommandComment__TParamCommandComment(CppSharp::CppParser::AST::TParamCommandComment*__instance) { __instance->~TParamCommandComment(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment_VerbatimBlockLineComment___1__N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment(void* __instance, const CppSharp::CppParser::AST::VerbatimBlockLineComment& _0) { ::new (__instance) CppSharp::CppParser::AST::VerbatimBlockLineComment(_0); } +class CppSharp::CppParser::AST::VerbatimBlockLineComment& (CppSharp::CppParser::AST::VerbatimBlockLineComment::*_10)(class CppSharp::CppParser::AST::VerbatimBlockLineComment&&) = &CppSharp::CppParser::AST::VerbatimBlockLineComment::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment__VerbatimBlockLineComment(CppSharp::CppParser::AST::VerbatimBlockLineComment*__instance) { __instance->~VerbatimBlockLineComment(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockComment_VerbatimBlockComment___1__N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockComment(void* __instance, const CppSharp::CppParser::AST::VerbatimBlockComment& _0) { ::new (__instance) CppSharp::CppParser::AST::VerbatimBlockComment(_0); } +class CppSharp::CppParser::AST::VerbatimBlockComment& (CppSharp::CppParser::AST::VerbatimBlockComment::*_11)(const class CppSharp::CppParser::AST::VerbatimBlockComment&) = &CppSharp::CppParser::AST::VerbatimBlockComment::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_VerbatimLineComment_VerbatimLineComment___1__N_CppSharp_N_CppParser_N_AST_S_VerbatimLineComment(void* __instance, const CppSharp::CppParser::AST::VerbatimLineComment& _0) { ::new (__instance) CppSharp::CppParser::AST::VerbatimLineComment(_0); } +class CppSharp::CppParser::AST::VerbatimLineComment& (CppSharp::CppParser::AST::VerbatimLineComment::*_12)(class CppSharp::CppParser::AST::VerbatimLineComment&&) = &CppSharp::CppParser::AST::VerbatimLineComment::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_VerbatimLineComment__VerbatimLineComment(CppSharp::CppParser::AST::VerbatimLineComment*__instance) { __instance->~VerbatimLineComment(); } +class CppSharp::CppParser::AST::InlineCommandComment::Argument& (CppSharp::CppParser::AST::InlineCommandComment::Argument::*_13)(const class CppSharp::CppParser::AST::InlineCommandComment::Argument&) = &CppSharp::CppParser::AST::InlineCommandComment::Argument::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_InlineCommandComment___1__N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment(void* __instance, const CppSharp::CppParser::AST::InlineCommandComment& _0) { ::new (__instance) CppSharp::CppParser::AST::InlineCommandComment(_0); } +class CppSharp::CppParser::AST::InlineCommandComment& (CppSharp::CppParser::AST::InlineCommandComment::*_14)(class CppSharp::CppParser::AST::InlineCommandComment&&) = &CppSharp::CppParser::AST::InlineCommandComment::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment__InlineCommandComment(CppSharp::CppParser::AST::InlineCommandComment*__instance) { __instance->~InlineCommandComment(); } +class CppSharp::CppParser::AST::HTMLTagComment& (CppSharp::CppParser::AST::HTMLTagComment::*_15)(class CppSharp::CppParser::AST::HTMLTagComment&&) = &CppSharp::CppParser::AST::HTMLTagComment::operator=; +class CppSharp::CppParser::AST::HTMLStartTagComment::Attribute& (CppSharp::CppParser::AST::HTMLStartTagComment::Attribute::*_16)(const class CppSharp::CppParser::AST::HTMLStartTagComment::Attribute&) = &CppSharp::CppParser::AST::HTMLStartTagComment::Attribute::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_HTMLStartTagComment___1__N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment(void* __instance, const CppSharp::CppParser::AST::HTMLStartTagComment& _0) { ::new (__instance) CppSharp::CppParser::AST::HTMLStartTagComment(_0); } +class CppSharp::CppParser::AST::HTMLStartTagComment& (CppSharp::CppParser::AST::HTMLStartTagComment::*_17)(class CppSharp::CppParser::AST::HTMLStartTagComment&&) = &CppSharp::CppParser::AST::HTMLStartTagComment::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment__HTMLStartTagComment(CppSharp::CppParser::AST::HTMLStartTagComment*__instance) { __instance->~HTMLStartTagComment(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_HTMLEndTagComment_HTMLEndTagComment___1__N_CppSharp_N_CppParser_N_AST_S_HTMLEndTagComment(void* __instance, const CppSharp::CppParser::AST::HTMLEndTagComment& _0) { ::new (__instance) CppSharp::CppParser::AST::HTMLEndTagComment(_0); } +class CppSharp::CppParser::AST::HTMLEndTagComment& (CppSharp::CppParser::AST::HTMLEndTagComment::*_18)(class CppSharp::CppParser::AST::HTMLEndTagComment&&) = &CppSharp::CppParser::AST::HTMLEndTagComment::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_HTMLEndTagComment__HTMLEndTagComment(CppSharp::CppParser::AST::HTMLEndTagComment*__instance) { __instance->~HTMLEndTagComment(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TextComment_TextComment___1__N_CppSharp_N_CppParser_N_AST_S_TextComment(void* __instance, const CppSharp::CppParser::AST::TextComment& _0) { ::new (__instance) CppSharp::CppParser::AST::TextComment(_0); } +class CppSharp::CppParser::AST::TextComment& (CppSharp::CppParser::AST::TextComment::*_19)(class CppSharp::CppParser::AST::TextComment&&) = &CppSharp::CppParser::AST::TextComment::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TextComment__TextComment(CppSharp::CppParser::AST::TextComment*__instance) { __instance->~TextComment(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_RawComment_RawComment___1__N_CppSharp_N_CppParser_N_AST_S_RawComment(void* __instance, const CppSharp::CppParser::AST::RawComment& _0) { ::new (__instance) CppSharp::CppParser::AST::RawComment(_0); } +class CppSharp::CppParser::AST::RawComment& (CppSharp::CppParser::AST::RawComment::*_20)(const class CppSharp::CppParser::AST::RawComment&) = &CppSharp::CppParser::AST::RawComment::operator=; +struct CppSharp::CppParser::SourceLocation& (CppSharp::CppParser::SourceLocation::*_21)(struct CppSharp::CppParser::SourceLocation&&) = &CppSharp::CppParser::SourceLocation::operator=; +struct CppSharp::CppParser::SourceRange& (CppSharp::CppParser::SourceRange::*_22)(struct CppSharp::CppParser::SourceRange&&) = &CppSharp::CppParser::SourceRange::operator=; +extern "C" void c__N_CppSharp_N_CppParser_S_SourceRange_SourceRange(void* __instance) { ::new (__instance) CppSharp::CppParser::SourceRange(); } +class CppSharp::CppParser::AST::Type& (CppSharp::CppParser::AST::Type::*_23)(const class CppSharp::CppParser::AST::Type&) = &CppSharp::CppParser::AST::Type::operator=; +struct CppSharp::CppParser::AST::TypeQualifiers& (CppSharp::CppParser::AST::TypeQualifiers::*_24)(struct CppSharp::CppParser::AST::TypeQualifiers&&) = &CppSharp::CppParser::AST::TypeQualifiers::operator=; +struct CppSharp::CppParser::AST::QualifiedType& (CppSharp::CppParser::AST::QualifiedType::*_25)(struct CppSharp::CppParser::AST::QualifiedType&&) = &CppSharp::CppParser::AST::QualifiedType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TagType_TagType___1__N_CppSharp_N_CppParser_N_AST_S_TagType(void* __instance, const CppSharp::CppParser::AST::TagType& _0) { ::new (__instance) CppSharp::CppParser::AST::TagType(_0); } +class CppSharp::CppParser::AST::TagType& (CppSharp::CppParser::AST::TagType::*_26)(const class CppSharp::CppParser::AST::TagType&) = &CppSharp::CppParser::AST::TagType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_ArrayType_ArrayType___1__N_CppSharp_N_CppParser_N_AST_S_ArrayType(void* __instance, const CppSharp::CppParser::AST::ArrayType& _0) { ::new (__instance) CppSharp::CppParser::AST::ArrayType(_0); } +class CppSharp::CppParser::AST::ArrayType& (CppSharp::CppParser::AST::ArrayType::*_27)(const class CppSharp::CppParser::AST::ArrayType&) = &CppSharp::CppParser::AST::ArrayType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_FunctionType_FunctionType___1__N_CppSharp_N_CppParser_N_AST_S_FunctionType(void* __instance, const CppSharp::CppParser::AST::FunctionType& _0) { ::new (__instance) CppSharp::CppParser::AST::FunctionType(_0); } +class CppSharp::CppParser::AST::FunctionType& (CppSharp::CppParser::AST::FunctionType::*_28)(const class CppSharp::CppParser::AST::FunctionType&) = &CppSharp::CppParser::AST::FunctionType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_PointerType_PointerType___1__N_CppSharp_N_CppParser_N_AST_S_PointerType(void* __instance, const CppSharp::CppParser::AST::PointerType& _0) { ::new (__instance) CppSharp::CppParser::AST::PointerType(_0); } +class CppSharp::CppParser::AST::PointerType& (CppSharp::CppParser::AST::PointerType::*_29)(const class CppSharp::CppParser::AST::PointerType&) = &CppSharp::CppParser::AST::PointerType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_MemberPointerType_MemberPointerType___1__N_CppSharp_N_CppParser_N_AST_S_MemberPointerType(void* __instance, const CppSharp::CppParser::AST::MemberPointerType& _0) { ::new (__instance) CppSharp::CppParser::AST::MemberPointerType(_0); } +class CppSharp::CppParser::AST::MemberPointerType& (CppSharp::CppParser::AST::MemberPointerType::*_30)(const class CppSharp::CppParser::AST::MemberPointerType&) = &CppSharp::CppParser::AST::MemberPointerType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TypedefType_TypedefType___1__N_CppSharp_N_CppParser_N_AST_S_TypedefType(void* __instance, const CppSharp::CppParser::AST::TypedefType& _0) { ::new (__instance) CppSharp::CppParser::AST::TypedefType(_0); } +class CppSharp::CppParser::AST::TypedefType& (CppSharp::CppParser::AST::TypedefType::*_31)(const class CppSharp::CppParser::AST::TypedefType&) = &CppSharp::CppParser::AST::TypedefType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_AttributedType_AttributedType___1__N_CppSharp_N_CppParser_N_AST_S_AttributedType(void* __instance, const CppSharp::CppParser::AST::AttributedType& _0) { ::new (__instance) CppSharp::CppParser::AST::AttributedType(_0); } +class CppSharp::CppParser::AST::AttributedType& (CppSharp::CppParser::AST::AttributedType::*_32)(const class CppSharp::CppParser::AST::AttributedType&) = &CppSharp::CppParser::AST::AttributedType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_DecayedType_DecayedType___1__N_CppSharp_N_CppParser_N_AST_S_DecayedType(void* __instance, const CppSharp::CppParser::AST::DecayedType& _0) { ::new (__instance) CppSharp::CppParser::AST::DecayedType(_0); } +class CppSharp::CppParser::AST::DecayedType& (CppSharp::CppParser::AST::DecayedType::*_33)(const class CppSharp::CppParser::AST::DecayedType&) = &CppSharp::CppParser::AST::DecayedType::operator=; +struct CppSharp::CppParser::AST::TemplateArgument& (CppSharp::CppParser::AST::TemplateArgument::*_34)(struct CppSharp::CppParser::AST::TemplateArgument&&) = &CppSharp::CppParser::AST::TemplateArgument::operator=; +class CppSharp::CppParser::AST::TemplateSpecializationType& (CppSharp::CppParser::AST::TemplateSpecializationType::*_35)(const class CppSharp::CppParser::AST::TemplateSpecializationType&) = &CppSharp::CppParser::AST::TemplateSpecializationType::operator=; +class CppSharp::CppParser::AST::DependentTemplateSpecializationType& (CppSharp::CppParser::AST::DependentTemplateSpecializationType::*_36)(const class CppSharp::CppParser::AST::DependentTemplateSpecializationType&) = &CppSharp::CppParser::AST::DependentTemplateSpecializationType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TemplateParameterType_TemplateParameterType___1__N_CppSharp_N_CppParser_N_AST_S_TemplateParameterType(void* __instance, const CppSharp::CppParser::AST::TemplateParameterType& _0) { ::new (__instance) CppSharp::CppParser::AST::TemplateParameterType(_0); } +class CppSharp::CppParser::AST::TemplateParameterType& (CppSharp::CppParser::AST::TemplateParameterType::*_37)(const class CppSharp::CppParser::AST::TemplateParameterType&) = &CppSharp::CppParser::AST::TemplateParameterType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TemplateParameterSubstitutionType_TemplateParameterSubstitutionType___1__N_CppSharp_N_CppParser_N_AST_S_TemplateParameterSubstitutionType(void* __instance, const CppSharp::CppParser::AST::TemplateParameterSubstitutionType& _0) { ::new (__instance) CppSharp::CppParser::AST::TemplateParameterSubstitutionType(_0); } +class CppSharp::CppParser::AST::TemplateParameterSubstitutionType& (CppSharp::CppParser::AST::TemplateParameterSubstitutionType::*_38)(const class CppSharp::CppParser::AST::TemplateParameterSubstitutionType&) = &CppSharp::CppParser::AST::TemplateParameterSubstitutionType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_InjectedClassNameType_InjectedClassNameType___1__N_CppSharp_N_CppParser_N_AST_S_InjectedClassNameType(void* __instance, const CppSharp::CppParser::AST::InjectedClassNameType& _0) { ::new (__instance) CppSharp::CppParser::AST::InjectedClassNameType(_0); } +class CppSharp::CppParser::AST::InjectedClassNameType& (CppSharp::CppParser::AST::InjectedClassNameType::*_39)(const class CppSharp::CppParser::AST::InjectedClassNameType&) = &CppSharp::CppParser::AST::InjectedClassNameType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_DependentNameType_DependentNameType___1__N_CppSharp_N_CppParser_N_AST_S_DependentNameType(void* __instance, const CppSharp::CppParser::AST::DependentNameType& _0) { ::new (__instance) CppSharp::CppParser::AST::DependentNameType(_0); } +class CppSharp::CppParser::AST::DependentNameType& (CppSharp::CppParser::AST::DependentNameType::*_40)(const class CppSharp::CppParser::AST::DependentNameType&) = &CppSharp::CppParser::AST::DependentNameType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_PackExpansionType_PackExpansionType___1__N_CppSharp_N_CppParser_N_AST_S_PackExpansionType(void* __instance, const CppSharp::CppParser::AST::PackExpansionType& _0) { ::new (__instance) CppSharp::CppParser::AST::PackExpansionType(_0); } +class CppSharp::CppParser::AST::PackExpansionType& (CppSharp::CppParser::AST::PackExpansionType::*_41)(const class CppSharp::CppParser::AST::PackExpansionType&) = &CppSharp::CppParser::AST::PackExpansionType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_UnaryTransformType_UnaryTransformType___1__N_CppSharp_N_CppParser_N_AST_S_UnaryTransformType(void* __instance, const CppSharp::CppParser::AST::UnaryTransformType& _0) { ::new (__instance) CppSharp::CppParser::AST::UnaryTransformType(_0); } +class CppSharp::CppParser::AST::UnaryTransformType& (CppSharp::CppParser::AST::UnaryTransformType::*_42)(const class CppSharp::CppParser::AST::UnaryTransformType&) = &CppSharp::CppParser::AST::UnaryTransformType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_UnresolvedUsingType_UnresolvedUsingType___1__N_CppSharp_N_CppParser_N_AST_S_UnresolvedUsingType(void* __instance, const CppSharp::CppParser::AST::UnresolvedUsingType& _0) { ::new (__instance) CppSharp::CppParser::AST::UnresolvedUsingType(_0); } +class CppSharp::CppParser::AST::UnresolvedUsingType& (CppSharp::CppParser::AST::UnresolvedUsingType::*_43)(const class CppSharp::CppParser::AST::UnresolvedUsingType&) = &CppSharp::CppParser::AST::UnresolvedUsingType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_VectorType_VectorType___1__N_CppSharp_N_CppParser_N_AST_S_VectorType(void* __instance, const CppSharp::CppParser::AST::VectorType& _0) { ::new (__instance) CppSharp::CppParser::AST::VectorType(_0); } +class CppSharp::CppParser::AST::VectorType& (CppSharp::CppParser::AST::VectorType::*_44)(const class CppSharp::CppParser::AST::VectorType&) = &CppSharp::CppParser::AST::VectorType::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_BuiltinType_BuiltinType___1__N_CppSharp_N_CppParser_N_AST_S_BuiltinType(void* __instance, const CppSharp::CppParser::AST::BuiltinType& _0) { ::new (__instance) CppSharp::CppParser::AST::BuiltinType(_0); } +class CppSharp::CppParser::AST::BuiltinType& (CppSharp::CppParser::AST::BuiltinType::*_45)(const class CppSharp::CppParser::AST::BuiltinType&) = &CppSharp::CppParser::AST::BuiltinType::operator=; +class CppSharp::CppParser::AST::Declaration& (CppSharp::CppParser::AST::Declaration::*_46)(const class CppSharp::CppParser::AST::Declaration&) = &CppSharp::CppParser::AST::Declaration::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_DeclarationContext_DeclarationContext___1__N_CppSharp_N_CppParser_N_AST_S_DeclarationContext(void* __instance, const CppSharp::CppParser::AST::DeclarationContext& _0) { ::new (__instance) CppSharp::CppParser::AST::DeclarationContext(_0); } +class CppSharp::CppParser::AST::DeclarationContext& (CppSharp::CppParser::AST::DeclarationContext::*_47)(class CppSharp::CppParser::AST::DeclarationContext&&) = &CppSharp::CppParser::AST::DeclarationContext::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_DeclarationContext__DeclarationContext(CppSharp::CppParser::AST::DeclarationContext*__instance) { __instance->~DeclarationContext(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TypedefNameDecl_TypedefNameDecl___1__N_CppSharp_N_CppParser_N_AST_S_TypedefNameDecl(void* __instance, const CppSharp::CppParser::AST::TypedefNameDecl& _0) { ::new (__instance) CppSharp::CppParser::AST::TypedefNameDecl(_0); } +class CppSharp::CppParser::AST::TypedefNameDecl& (CppSharp::CppParser::AST::TypedefNameDecl::*_48)(const class CppSharp::CppParser::AST::TypedefNameDecl&) = &CppSharp::CppParser::AST::TypedefNameDecl::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TypedefDecl_TypedefDecl___1__N_CppSharp_N_CppParser_N_AST_S_TypedefDecl(void* __instance, const CppSharp::CppParser::AST::TypedefDecl& _0) { ::new (__instance) CppSharp::CppParser::AST::TypedefDecl(_0); } +class CppSharp::CppParser::AST::TypedefDecl& (CppSharp::CppParser::AST::TypedefDecl::*_49)(const class CppSharp::CppParser::AST::TypedefDecl&) = &CppSharp::CppParser::AST::TypedefDecl::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TypeAlias_TypeAlias___1__N_CppSharp_N_CppParser_N_AST_S_TypeAlias(void* __instance, const CppSharp::CppParser::AST::TypeAlias& _0) { ::new (__instance) CppSharp::CppParser::AST::TypeAlias(_0); } +class CppSharp::CppParser::AST::TypeAlias& (CppSharp::CppParser::AST::TypeAlias::*_50)(const class CppSharp::CppParser::AST::TypeAlias&) = &CppSharp::CppParser::AST::TypeAlias::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_Friend_Friend___1__N_CppSharp_N_CppParser_N_AST_S_Friend(void* __instance, const CppSharp::CppParser::AST::Friend& _0) { ::new (__instance) CppSharp::CppParser::AST::Friend(_0); } +class CppSharp::CppParser::AST::Friend& (CppSharp::CppParser::AST::Friend::*_51)(const class CppSharp::CppParser::AST::Friend&) = &CppSharp::CppParser::AST::Friend::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_StatementObsolete_StatementObsolete___1__N_CppSharp_N_CppParser_N_AST_S_StatementObsolete(void* __instance, const CppSharp::CppParser::AST::StatementObsolete& _0) { ::new (__instance) CppSharp::CppParser::AST::StatementObsolete(_0); } +class CppSharp::CppParser::AST::StatementObsolete& (CppSharp::CppParser::AST::StatementObsolete::*_52)(class CppSharp::CppParser::AST::StatementObsolete&&) = &CppSharp::CppParser::AST::StatementObsolete::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_StatementObsolete__StatementObsolete(CppSharp::CppParser::AST::StatementObsolete*__instance) { __instance->~StatementObsolete(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete_ExpressionObsolete___1__N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete(void* __instance, const CppSharp::CppParser::AST::ExpressionObsolete& _0) { ::new (__instance) CppSharp::CppParser::AST::ExpressionObsolete(_0); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete__ExpressionObsolete(CppSharp::CppParser::AST::ExpressionObsolete*__instance) { __instance->~ExpressionObsolete(); } +class CppSharp::CppParser::AST::ExpressionObsolete& (CppSharp::CppParser::AST::ExpressionObsolete::*_53)(class CppSharp::CppParser::AST::ExpressionObsolete&&) = &CppSharp::CppParser::AST::ExpressionObsolete::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_BinaryOperatorObsolete_BinaryOperatorObsolete___1__N_CppSharp_N_CppParser_N_AST_S_BinaryOperatorObsolete(void* __instance, const CppSharp::CppParser::AST::BinaryOperatorObsolete& _0) { ::new (__instance) CppSharp::CppParser::AST::BinaryOperatorObsolete(_0); } +class CppSharp::CppParser::AST::BinaryOperatorObsolete& (CppSharp::CppParser::AST::BinaryOperatorObsolete::*_54)(const class CppSharp::CppParser::AST::BinaryOperatorObsolete&) = &CppSharp::CppParser::AST::BinaryOperatorObsolete::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CallExprObsolete_CallExprObsolete___1__N_CppSharp_N_CppParser_N_AST_S_CallExprObsolete(void* __instance, const CppSharp::CppParser::AST::CallExprObsolete& _0) { ::new (__instance) CppSharp::CppParser::AST::CallExprObsolete(_0); } +class CppSharp::CppParser::AST::CallExprObsolete& (CppSharp::CppParser::AST::CallExprObsolete::*_55)(const class CppSharp::CppParser::AST::CallExprObsolete&) = &CppSharp::CppParser::AST::CallExprObsolete::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXConstructExprObsolete_CXXConstructExprObsolete___1__N_CppSharp_N_CppParser_N_AST_S_CXXConstructExprObsolete(void* __instance, const CppSharp::CppParser::AST::CXXConstructExprObsolete& _0) { ::new (__instance) CppSharp::CppParser::AST::CXXConstructExprObsolete(_0); } +class CppSharp::CppParser::AST::CXXConstructExprObsolete& (CppSharp::CppParser::AST::CXXConstructExprObsolete::*_56)(const class CppSharp::CppParser::AST::CXXConstructExprObsolete&) = &CppSharp::CppParser::AST::CXXConstructExprObsolete::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_Parameter_Parameter___1__N_CppSharp_N_CppParser_N_AST_S_Parameter(void* __instance, const CppSharp::CppParser::AST::Parameter& _0) { ::new (__instance) CppSharp::CppParser::AST::Parameter(_0); } +class CppSharp::CppParser::AST::Parameter& (CppSharp::CppParser::AST::Parameter::*_57)(const class CppSharp::CppParser::AST::Parameter&) = &CppSharp::CppParser::AST::Parameter::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_Function_Function___1__N_CppSharp_N_CppParser_N_AST_S_Function(void* __instance, const CppSharp::CppParser::AST::Function& _0) { ::new (__instance) CppSharp::CppParser::AST::Function(_0); } +class CppSharp::CppParser::AST::Function& (CppSharp::CppParser::AST::Function::*_58)(const class CppSharp::CppParser::AST::Function&) = &CppSharp::CppParser::AST::Function::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_Method_Method___1__N_CppSharp_N_CppParser_N_AST_S_Method(void* __instance, const CppSharp::CppParser::AST::Method& _0) { ::new (__instance) CppSharp::CppParser::AST::Method(_0); } +class CppSharp::CppParser::AST::Method& (CppSharp::CppParser::AST::Method::*_59)(const class CppSharp::CppParser::AST::Method&) = &CppSharp::CppParser::AST::Method::operator=; +class CppSharp::CppParser::AST::Enumeration::Item& (CppSharp::CppParser::AST::Enumeration::Item::*_60)(const class CppSharp::CppParser::AST::Enumeration::Item&) = &CppSharp::CppParser::AST::Enumeration::Item::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_Enumeration_Enumeration___1__N_CppSharp_N_CppParser_N_AST_S_Enumeration(void* __instance, const CppSharp::CppParser::AST::Enumeration& _0) { ::new (__instance) CppSharp::CppParser::AST::Enumeration(_0); } +class CppSharp::CppParser::AST::Enumeration& (CppSharp::CppParser::AST::Enumeration::*_61)(const class CppSharp::CppParser::AST::Enumeration&) = &CppSharp::CppParser::AST::Enumeration::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_Variable_Variable___1__N_CppSharp_N_CppParser_N_AST_S_Variable(void* __instance, const CppSharp::CppParser::AST::Variable& _0) { ::new (__instance) CppSharp::CppParser::AST::Variable(_0); } +class CppSharp::CppParser::AST::Variable& (CppSharp::CppParser::AST::Variable::*_62)(const class CppSharp::CppParser::AST::Variable&) = &CppSharp::CppParser::AST::Variable::operator=; +struct CppSharp::CppParser::AST::BaseClassSpecifier& (CppSharp::CppParser::AST::BaseClassSpecifier::*_63)(struct CppSharp::CppParser::AST::BaseClassSpecifier&&) = &CppSharp::CppParser::AST::BaseClassSpecifier::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_Field_Field___1__N_CppSharp_N_CppParser_N_AST_S_Field(void* __instance, const CppSharp::CppParser::AST::Field& _0) { ::new (__instance) CppSharp::CppParser::AST::Field(_0); } +class CppSharp::CppParser::AST::Field& (CppSharp::CppParser::AST::Field::*_64)(const class CppSharp::CppParser::AST::Field&) = &CppSharp::CppParser::AST::Field::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl_AccessSpecifierDecl___1__N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl(void* __instance, const CppSharp::CppParser::AST::AccessSpecifierDecl& _0) { ::new (__instance) CppSharp::CppParser::AST::AccessSpecifierDecl(_0); } +class CppSharp::CppParser::AST::AccessSpecifierDecl& (CppSharp::CppParser::AST::AccessSpecifierDecl::*_65)(const class CppSharp::CppParser::AST::AccessSpecifierDecl&) = &CppSharp::CppParser::AST::AccessSpecifierDecl::operator=; +struct CppSharp::CppParser::AST::VTableComponent& (CppSharp::CppParser::AST::VTableComponent::*_66)(struct CppSharp::CppParser::AST::VTableComponent&&) = &CppSharp::CppParser::AST::VTableComponent::operator=; +struct CppSharp::CppParser::AST::VTableLayout& (CppSharp::CppParser::AST::VTableLayout::*_67)(const struct CppSharp::CppParser::AST::VTableLayout&) = &CppSharp::CppParser::AST::VTableLayout::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_VFTableInfo__VFTableInfo(CppSharp::CppParser::AST::VFTableInfo*__instance) { __instance->~VFTableInfo(); } +struct CppSharp::CppParser::AST::VFTableInfo& (CppSharp::CppParser::AST::VFTableInfo::*_68)(const struct CppSharp::CppParser::AST::VFTableInfo&) = &CppSharp::CppParser::AST::VFTableInfo::operator=; +class CppSharp::CppParser::AST::LayoutField& (CppSharp::CppParser::AST::LayoutField::*_69)(const class CppSharp::CppParser::AST::LayoutField&) = &CppSharp::CppParser::AST::LayoutField::operator=; +class CppSharp::CppParser::AST::LayoutBase& (CppSharp::CppParser::AST::LayoutBase::*_70)(const class CppSharp::CppParser::AST::LayoutBase&) = &CppSharp::CppParser::AST::LayoutBase::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_ClassLayout_ClassLayout___1__N_CppSharp_N_CppParser_N_AST_S_ClassLayout(void* __instance, const CppSharp::CppParser::AST::ClassLayout& _0) { ::new (__instance) CppSharp::CppParser::AST::ClassLayout(_0); } +struct CppSharp::CppParser::AST::ClassLayout& (CppSharp::CppParser::AST::ClassLayout::*_71)(struct CppSharp::CppParser::AST::ClassLayout&&) = &CppSharp::CppParser::AST::ClassLayout::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_ClassLayout__ClassLayout(CppSharp::CppParser::AST::ClassLayout*__instance) { __instance->~ClassLayout(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_Class_Class___1__N_CppSharp_N_CppParser_N_AST_S_Class(void* __instance, const CppSharp::CppParser::AST::Class& _0) { ::new (__instance) CppSharp::CppParser::AST::Class(_0); } +class CppSharp::CppParser::AST::Class& (CppSharp::CppParser::AST::Class::*_72)(const class CppSharp::CppParser::AST::Class&) = &CppSharp::CppParser::AST::Class::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_Template_Template___1__N_CppSharp_N_CppParser_N_AST_S_Template(void* __instance, const CppSharp::CppParser::AST::Template& _0) { ::new (__instance) CppSharp::CppParser::AST::Template(_0); } +class CppSharp::CppParser::AST::Template& (CppSharp::CppParser::AST::Template::*_73)(class CppSharp::CppParser::AST::Template&&) = &CppSharp::CppParser::AST::Template::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_Template__Template(CppSharp::CppParser::AST::Template*__instance) { __instance->~Template(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TypeAliasTemplate_TypeAliasTemplate___1__N_CppSharp_N_CppParser_N_AST_S_TypeAliasTemplate(void* __instance, const CppSharp::CppParser::AST::TypeAliasTemplate& _0) { ::new (__instance) CppSharp::CppParser::AST::TypeAliasTemplate(_0); } +class CppSharp::CppParser::AST::TypeAliasTemplate& (CppSharp::CppParser::AST::TypeAliasTemplate::*_74)(const class CppSharp::CppParser::AST::TypeAliasTemplate&) = &CppSharp::CppParser::AST::TypeAliasTemplate::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TemplateParameter_TemplateParameter___1__N_CppSharp_N_CppParser_N_AST_S_TemplateParameter(void* __instance, const CppSharp::CppParser::AST::TemplateParameter& _0) { ::new (__instance) CppSharp::CppParser::AST::TemplateParameter(_0); } +class CppSharp::CppParser::AST::TemplateParameter& (CppSharp::CppParser::AST::TemplateParameter::*_75)(const class CppSharp::CppParser::AST::TemplateParameter&) = &CppSharp::CppParser::AST::TemplateParameter::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TemplateTemplateParameter_TemplateTemplateParameter___1__N_CppSharp_N_CppParser_N_AST_S_TemplateTemplateParameter(void* __instance, const CppSharp::CppParser::AST::TemplateTemplateParameter& _0) { ::new (__instance) CppSharp::CppParser::AST::TemplateTemplateParameter(_0); } +class CppSharp::CppParser::AST::TemplateTemplateParameter& (CppSharp::CppParser::AST::TemplateTemplateParameter::*_76)(const class CppSharp::CppParser::AST::TemplateTemplateParameter&) = &CppSharp::CppParser::AST::TemplateTemplateParameter::operator=; +class CppSharp::CppParser::AST::TypeTemplateParameter& (CppSharp::CppParser::AST::TypeTemplateParameter::*_77)(const class CppSharp::CppParser::AST::TypeTemplateParameter&) = &CppSharp::CppParser::AST::TypeTemplateParameter::operator=; +class CppSharp::CppParser::AST::NonTypeTemplateParameter& (CppSharp::CppParser::AST::NonTypeTemplateParameter::*_78)(const class CppSharp::CppParser::AST::NonTypeTemplateParameter&) = &CppSharp::CppParser::AST::NonTypeTemplateParameter::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_ClassTemplate_ClassTemplate___1__N_CppSharp_N_CppParser_N_AST_S_ClassTemplate(void* __instance, const CppSharp::CppParser::AST::ClassTemplate& _0) { ::new (__instance) CppSharp::CppParser::AST::ClassTemplate(_0); } +class CppSharp::CppParser::AST::ClassTemplate& (CppSharp::CppParser::AST::ClassTemplate::*_79)(const class CppSharp::CppParser::AST::ClassTemplate&) = &CppSharp::CppParser::AST::ClassTemplate::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization_ClassTemplateSpecialization___1__N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization(void* __instance, const CppSharp::CppParser::AST::ClassTemplateSpecialization& _0) { ::new (__instance) CppSharp::CppParser::AST::ClassTemplateSpecialization(_0); } +class CppSharp::CppParser::AST::ClassTemplateSpecialization& (CppSharp::CppParser::AST::ClassTemplateSpecialization::*_80)(const class CppSharp::CppParser::AST::ClassTemplateSpecialization&) = &CppSharp::CppParser::AST::ClassTemplateSpecialization::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_ClassTemplatePartialSpecialization_ClassTemplatePartialSpecialization___1__N_CppSharp_N_CppParser_N_AST_S_ClassTemplatePartialSpecialization(void* __instance, const CppSharp::CppParser::AST::ClassTemplatePartialSpecialization& _0) { ::new (__instance) CppSharp::CppParser::AST::ClassTemplatePartialSpecialization(_0); } +class CppSharp::CppParser::AST::ClassTemplatePartialSpecialization& (CppSharp::CppParser::AST::ClassTemplatePartialSpecialization::*_81)(const class CppSharp::CppParser::AST::ClassTemplatePartialSpecialization&) = &CppSharp::CppParser::AST::ClassTemplatePartialSpecialization::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_FunctionTemplate_FunctionTemplate___1__N_CppSharp_N_CppParser_N_AST_S_FunctionTemplate(void* __instance, const CppSharp::CppParser::AST::FunctionTemplate& _0) { ::new (__instance) CppSharp::CppParser::AST::FunctionTemplate(_0); } +class CppSharp::CppParser::AST::FunctionTemplate& (CppSharp::CppParser::AST::FunctionTemplate::*_82)(const class CppSharp::CppParser::AST::FunctionTemplate&) = &CppSharp::CppParser::AST::FunctionTemplate::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization_FunctionTemplateSpecialization___1__N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization(void* __instance, const CppSharp::CppParser::AST::FunctionTemplateSpecialization& _0) { ::new (__instance) CppSharp::CppParser::AST::FunctionTemplateSpecialization(_0); } +class CppSharp::CppParser::AST::FunctionTemplateSpecialization& (CppSharp::CppParser::AST::FunctionTemplateSpecialization::*_83)(const class CppSharp::CppParser::AST::FunctionTemplateSpecialization&) = &CppSharp::CppParser::AST::FunctionTemplateSpecialization::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_VarTemplate_VarTemplate___1__N_CppSharp_N_CppParser_N_AST_S_VarTemplate(void* __instance, const CppSharp::CppParser::AST::VarTemplate& _0) { ::new (__instance) CppSharp::CppParser::AST::VarTemplate(_0); } +class CppSharp::CppParser::AST::VarTemplate& (CppSharp::CppParser::AST::VarTemplate::*_84)(const class CppSharp::CppParser::AST::VarTemplate&) = &CppSharp::CppParser::AST::VarTemplate::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization_VarTemplateSpecialization___1__N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization(void* __instance, const CppSharp::CppParser::AST::VarTemplateSpecialization& _0) { ::new (__instance) CppSharp::CppParser::AST::VarTemplateSpecialization(_0); } +class CppSharp::CppParser::AST::VarTemplateSpecialization& (CppSharp::CppParser::AST::VarTemplateSpecialization::*_85)(const class CppSharp::CppParser::AST::VarTemplateSpecialization&) = &CppSharp::CppParser::AST::VarTemplateSpecialization::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_VarTemplatePartialSpecialization_VarTemplatePartialSpecialization___1__N_CppSharp_N_CppParser_N_AST_S_VarTemplatePartialSpecialization(void* __instance, const CppSharp::CppParser::AST::VarTemplatePartialSpecialization& _0) { ::new (__instance) CppSharp::CppParser::AST::VarTemplatePartialSpecialization(_0); } +class CppSharp::CppParser::AST::VarTemplatePartialSpecialization& (CppSharp::CppParser::AST::VarTemplatePartialSpecialization::*_86)(const class CppSharp::CppParser::AST::VarTemplatePartialSpecialization&) = &CppSharp::CppParser::AST::VarTemplatePartialSpecialization::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_UnresolvedUsingTypename_UnresolvedUsingTypename___1__N_CppSharp_N_CppParser_N_AST_S_UnresolvedUsingTypename(void* __instance, const CppSharp::CppParser::AST::UnresolvedUsingTypename& _0) { ::new (__instance) CppSharp::CppParser::AST::UnresolvedUsingTypename(_0); } +class CppSharp::CppParser::AST::UnresolvedUsingTypename& (CppSharp::CppParser::AST::UnresolvedUsingTypename::*_87)(const class CppSharp::CppParser::AST::UnresolvedUsingTypename&) = &CppSharp::CppParser::AST::UnresolvedUsingTypename::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_Namespace_Namespace___1__N_CppSharp_N_CppParser_N_AST_S_Namespace(void* __instance, const CppSharp::CppParser::AST::Namespace& _0) { ::new (__instance) CppSharp::CppParser::AST::Namespace(_0); } +class CppSharp::CppParser::AST::Namespace& (CppSharp::CppParser::AST::Namespace::*_88)(const class CppSharp::CppParser::AST::Namespace&) = &CppSharp::CppParser::AST::Namespace::operator=; +class CppSharp::CppParser::AST::PreprocessedEntity& (CppSharp::CppParser::AST::PreprocessedEntity::*_89)(class CppSharp::CppParser::AST::PreprocessedEntity&&) = &CppSharp::CppParser::AST::PreprocessedEntity::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_MacroDefinition_MacroDefinition___1__N_CppSharp_N_CppParser_N_AST_S_MacroDefinition(void* __instance, const CppSharp::CppParser::AST::MacroDefinition& _0) { ::new (__instance) CppSharp::CppParser::AST::MacroDefinition(_0); } +class CppSharp::CppParser::AST::MacroDefinition& (CppSharp::CppParser::AST::MacroDefinition::*_90)(const class CppSharp::CppParser::AST::MacroDefinition&) = &CppSharp::CppParser::AST::MacroDefinition::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_MacroExpansion_MacroExpansion___1__N_CppSharp_N_CppParser_N_AST_S_MacroExpansion(void* __instance, const CppSharp::CppParser::AST::MacroExpansion& _0) { ::new (__instance) CppSharp::CppParser::AST::MacroExpansion(_0); } +class CppSharp::CppParser::AST::MacroExpansion& (CppSharp::CppParser::AST::MacroExpansion::*_91)(const class CppSharp::CppParser::AST::MacroExpansion&) = &CppSharp::CppParser::AST::MacroExpansion::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_TranslationUnit_TranslationUnit___1__N_CppSharp_N_CppParser_N_AST_S_TranslationUnit(void* __instance, const CppSharp::CppParser::AST::TranslationUnit& _0) { ::new (__instance) CppSharp::CppParser::AST::TranslationUnit(_0); } +class CppSharp::CppParser::AST::TranslationUnit& (CppSharp::CppParser::AST::TranslationUnit::*_92)(const class CppSharp::CppParser::AST::TranslationUnit&) = &CppSharp::CppParser::AST::TranslationUnit::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_ASTContext_ASTContext___1__N_CppSharp_N_CppParser_N_AST_S_ASTContext(void* __instance, const CppSharp::CppParser::AST::ASTContext& _0) { ::new (__instance) CppSharp::CppParser::AST::ASTContext(_0); } +class CppSharp::CppParser::AST::ASTContext& (CppSharp::CppParser::AST::ASTContext::*_93)(const class CppSharp::CppParser::AST::ASTContext&) = &CppSharp::CppParser::AST::ASTContext::operator=; +class CppSharp::CppParser::AST::Stmt& (CppSharp::CppParser::AST::Stmt::*_94)(class CppSharp::CppParser::AST::Stmt&&) = &CppSharp::CppParser::AST::Stmt::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_DeclStmt_DeclStmt___1__N_CppSharp_N_CppParser_N_AST_S_DeclStmt(void* __instance, const CppSharp::CppParser::AST::DeclStmt& _0) { ::new (__instance) CppSharp::CppParser::AST::DeclStmt(_0); } +class CppSharp::CppParser::AST::DeclStmt& (CppSharp::CppParser::AST::DeclStmt::*_95)(class CppSharp::CppParser::AST::DeclStmt&&) = &CppSharp::CppParser::AST::DeclStmt::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_DeclStmt__DeclStmt(CppSharp::CppParser::AST::DeclStmt*__instance) { __instance->~DeclStmt(); } +class CppSharp::CppParser::AST::NullStmt& (CppSharp::CppParser::AST::NullStmt::*_96)(class CppSharp::CppParser::AST::NullStmt&&) = &CppSharp::CppParser::AST::NullStmt::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CompoundStmt_CompoundStmt___1__N_CppSharp_N_CppParser_N_AST_S_CompoundStmt(void* __instance, const CppSharp::CppParser::AST::CompoundStmt& _0) { ::new (__instance) CppSharp::CppParser::AST::CompoundStmt(_0); } +class CppSharp::CppParser::AST::CompoundStmt& (CppSharp::CppParser::AST::CompoundStmt::*_97)(class CppSharp::CppParser::AST::CompoundStmt&&) = &CppSharp::CppParser::AST::CompoundStmt::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CompoundStmt__CompoundStmt(CppSharp::CppParser::AST::CompoundStmt*__instance) { __instance->~CompoundStmt(); } +class CppSharp::CppParser::AST::SwitchCase& (CppSharp::CppParser::AST::SwitchCase::*_98)(class CppSharp::CppParser::AST::SwitchCase&&) = &CppSharp::CppParser::AST::SwitchCase::operator=; +class CppSharp::CppParser::AST::CaseStmt& (CppSharp::CppParser::AST::CaseStmt::*_99)(class CppSharp::CppParser::AST::CaseStmt&&) = &CppSharp::CppParser::AST::CaseStmt::operator=; +class CppSharp::CppParser::AST::DefaultStmt& (CppSharp::CppParser::AST::DefaultStmt::*_100)(class CppSharp::CppParser::AST::DefaultStmt&&) = &CppSharp::CppParser::AST::DefaultStmt::operator=; +class CppSharp::CppParser::AST::LabelStmt& (CppSharp::CppParser::AST::LabelStmt::*_101)(class CppSharp::CppParser::AST::LabelStmt&&) = &CppSharp::CppParser::AST::LabelStmt::operator=; +class CppSharp::CppParser::AST::AttributedStmt& (CppSharp::CppParser::AST::AttributedStmt::*_102)(class CppSharp::CppParser::AST::AttributedStmt&&) = &CppSharp::CppParser::AST::AttributedStmt::operator=; +class CppSharp::CppParser::AST::IfStmt& (CppSharp::CppParser::AST::IfStmt::*_103)(class CppSharp::CppParser::AST::IfStmt&&) = &CppSharp::CppParser::AST::IfStmt::operator=; +class CppSharp::CppParser::AST::SwitchStmt& (CppSharp::CppParser::AST::SwitchStmt::*_104)(class CppSharp::CppParser::AST::SwitchStmt&&) = &CppSharp::CppParser::AST::SwitchStmt::operator=; +class CppSharp::CppParser::AST::WhileStmt& (CppSharp::CppParser::AST::WhileStmt::*_105)(class CppSharp::CppParser::AST::WhileStmt&&) = &CppSharp::CppParser::AST::WhileStmt::operator=; +class CppSharp::CppParser::AST::DoStmt& (CppSharp::CppParser::AST::DoStmt::*_106)(class CppSharp::CppParser::AST::DoStmt&&) = &CppSharp::CppParser::AST::DoStmt::operator=; +class CppSharp::CppParser::AST::ForStmt& (CppSharp::CppParser::AST::ForStmt::*_107)(class CppSharp::CppParser::AST::ForStmt&&) = &CppSharp::CppParser::AST::ForStmt::operator=; +class CppSharp::CppParser::AST::GotoStmt& (CppSharp::CppParser::AST::GotoStmt::*_108)(class CppSharp::CppParser::AST::GotoStmt&&) = &CppSharp::CppParser::AST::GotoStmt::operator=; +class CppSharp::CppParser::AST::IndirectGotoStmt& (CppSharp::CppParser::AST::IndirectGotoStmt::*_109)(class CppSharp::CppParser::AST::IndirectGotoStmt&&) = &CppSharp::CppParser::AST::IndirectGotoStmt::operator=; +class CppSharp::CppParser::AST::ContinueStmt& (CppSharp::CppParser::AST::ContinueStmt::*_110)(class CppSharp::CppParser::AST::ContinueStmt&&) = &CppSharp::CppParser::AST::ContinueStmt::operator=; +class CppSharp::CppParser::AST::BreakStmt& (CppSharp::CppParser::AST::BreakStmt::*_111)(class CppSharp::CppParser::AST::BreakStmt&&) = &CppSharp::CppParser::AST::BreakStmt::operator=; +class CppSharp::CppParser::AST::ReturnStmt& (CppSharp::CppParser::AST::ReturnStmt::*_112)(class CppSharp::CppParser::AST::ReturnStmt&&) = &CppSharp::CppParser::AST::ReturnStmt::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_AsmStmt_AsmStmt___1__N_CppSharp_N_CppParser_N_AST_S_AsmStmt(void* __instance, const CppSharp::CppParser::AST::AsmStmt& _0) { ::new (__instance) CppSharp::CppParser::AST::AsmStmt(_0); } +class CppSharp::CppParser::AST::AsmStmt& (CppSharp::CppParser::AST::AsmStmt::*_113)(class CppSharp::CppParser::AST::AsmStmt&&) = &CppSharp::CppParser::AST::AsmStmt::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_AsmStmt__AsmStmt(CppSharp::CppParser::AST::AsmStmt*__instance) { __instance->~AsmStmt(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_GCCAsmStmt_S_AsmStringPiece_AsmStringPiece___1__N_CppSharp_N_CppParser_N_AST_S_GCCAsmStmt_S_AsmStringPiece(void* __instance, const CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece& _0) { ::new (__instance) CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece(_0); } +class CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece& (CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece::*_114)(class CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece&&) = &CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_GCCAsmStmt_S_AsmStringPiece__AsmStringPiece(CppSharp::CppParser::AST::GCCAsmStmt::AsmStringPiece*__instance) { __instance->~AsmStringPiece(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_GCCAsmStmt_GCCAsmStmt___1__N_CppSharp_N_CppParser_N_AST_S_GCCAsmStmt(void* __instance, const CppSharp::CppParser::AST::GCCAsmStmt& _0) { ::new (__instance) CppSharp::CppParser::AST::GCCAsmStmt(_0); } +class CppSharp::CppParser::AST::GCCAsmStmt& (CppSharp::CppParser::AST::GCCAsmStmt::*_115)(class CppSharp::CppParser::AST::GCCAsmStmt&&) = &CppSharp::CppParser::AST::GCCAsmStmt::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_GCCAsmStmt__GCCAsmStmt(CppSharp::CppParser::AST::GCCAsmStmt*__instance) { __instance->~GCCAsmStmt(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_MSAsmStmt_MSAsmStmt___1__N_CppSharp_N_CppParser_N_AST_S_MSAsmStmt(void* __instance, const CppSharp::CppParser::AST::MSAsmStmt& _0) { ::new (__instance) CppSharp::CppParser::AST::MSAsmStmt(_0); } +class CppSharp::CppParser::AST::MSAsmStmt& (CppSharp::CppParser::AST::MSAsmStmt::*_116)(class CppSharp::CppParser::AST::MSAsmStmt&&) = &CppSharp::CppParser::AST::MSAsmStmt::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_MSAsmStmt__MSAsmStmt(CppSharp::CppParser::AST::MSAsmStmt*__instance) { __instance->~MSAsmStmt(); } +class CppSharp::CppParser::AST::SEHExceptStmt& (CppSharp::CppParser::AST::SEHExceptStmt::*_117)(class CppSharp::CppParser::AST::SEHExceptStmt&&) = &CppSharp::CppParser::AST::SEHExceptStmt::operator=; +class CppSharp::CppParser::AST::SEHFinallyStmt& (CppSharp::CppParser::AST::SEHFinallyStmt::*_118)(class CppSharp::CppParser::AST::SEHFinallyStmt&&) = &CppSharp::CppParser::AST::SEHFinallyStmt::operator=; +class CppSharp::CppParser::AST::SEHTryStmt& (CppSharp::CppParser::AST::SEHTryStmt::*_119)(class CppSharp::CppParser::AST::SEHTryStmt&&) = &CppSharp::CppParser::AST::SEHTryStmt::operator=; +class CppSharp::CppParser::AST::SEHLeaveStmt& (CppSharp::CppParser::AST::SEHLeaveStmt::*_120)(class CppSharp::CppParser::AST::SEHLeaveStmt&&) = &CppSharp::CppParser::AST::SEHLeaveStmt::operator=; +class CppSharp::CppParser::AST::CapturedStmt::Capture& (CppSharp::CppParser::AST::CapturedStmt::Capture::*_121)(class CppSharp::CppParser::AST::CapturedStmt::Capture&&) = &CppSharp::CppParser::AST::CapturedStmt::Capture::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CapturedStmt_CapturedStmt___1__N_CppSharp_N_CppParser_N_AST_S_CapturedStmt(void* __instance, const CppSharp::CppParser::AST::CapturedStmt& _0) { ::new (__instance) CppSharp::CppParser::AST::CapturedStmt(_0); } +class CppSharp::CppParser::AST::CapturedStmt& (CppSharp::CppParser::AST::CapturedStmt::*_122)(class CppSharp::CppParser::AST::CapturedStmt&&) = &CppSharp::CppParser::AST::CapturedStmt::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CapturedStmt__CapturedStmt(CppSharp::CppParser::AST::CapturedStmt*__instance) { __instance->~CapturedStmt(); } +class CppSharp::CppParser::AST::CXXCatchStmt& (CppSharp::CppParser::AST::CXXCatchStmt::*_123)(class CppSharp::CppParser::AST::CXXCatchStmt&&) = &CppSharp::CppParser::AST::CXXCatchStmt::operator=; +class CppSharp::CppParser::AST::CXXTryStmt& (CppSharp::CppParser::AST::CXXTryStmt::*_124)(class CppSharp::CppParser::AST::CXXTryStmt&&) = &CppSharp::CppParser::AST::CXXTryStmt::operator=; +class CppSharp::CppParser::AST::CXXForRangeStmt& (CppSharp::CppParser::AST::CXXForRangeStmt::*_125)(class CppSharp::CppParser::AST::CXXForRangeStmt&&) = &CppSharp::CppParser::AST::CXXForRangeStmt::operator=; +class CppSharp::CppParser::AST::MSDependentExistsStmt& (CppSharp::CppParser::AST::MSDependentExistsStmt::*_126)(class CppSharp::CppParser::AST::MSDependentExistsStmt&&) = &CppSharp::CppParser::AST::MSDependentExistsStmt::operator=; +class CppSharp::CppParser::AST::CoroutineBodyStmt::CtorArgs& (CppSharp::CppParser::AST::CoroutineBodyStmt::CtorArgs::*_127)(class CppSharp::CppParser::AST::CoroutineBodyStmt::CtorArgs&&) = &CppSharp::CppParser::AST::CoroutineBodyStmt::CtorArgs::operator=; +class CppSharp::CppParser::AST::CoroutineBodyStmt& (CppSharp::CppParser::AST::CoroutineBodyStmt::*_128)(class CppSharp::CppParser::AST::CoroutineBodyStmt&&) = &CppSharp::CppParser::AST::CoroutineBodyStmt::operator=; +class CppSharp::CppParser::AST::CoreturnStmt& (CppSharp::CppParser::AST::CoreturnStmt::*_129)(class CppSharp::CppParser::AST::CoreturnStmt&&) = &CppSharp::CppParser::AST::CoreturnStmt::operator=; +class CppSharp::CppParser::AST::Expr::Classification& (CppSharp::CppParser::AST::Expr::Classification::*_130)(class CppSharp::CppParser::AST::Expr::Classification&&) = &CppSharp::CppParser::AST::Expr::Classification::operator=; +class CppSharp::CppParser::AST::Expr& (CppSharp::CppParser::AST::Expr::*_131)(class CppSharp::CppParser::AST::Expr&&) = &CppSharp::CppParser::AST::Expr::operator=; +class CppSharp::CppParser::AST::FullExpr& (CppSharp::CppParser::AST::FullExpr::*_132)(class CppSharp::CppParser::AST::FullExpr&&) = &CppSharp::CppParser::AST::FullExpr::operator=; +class CppSharp::CppParser::AST::ConstantExpr& (CppSharp::CppParser::AST::ConstantExpr::*_133)(class CppSharp::CppParser::AST::ConstantExpr&&) = &CppSharp::CppParser::AST::ConstantExpr::operator=; +class CppSharp::CppParser::AST::OpaqueValueExpr& (CppSharp::CppParser::AST::OpaqueValueExpr::*_134)(class CppSharp::CppParser::AST::OpaqueValueExpr&&) = &CppSharp::CppParser::AST::OpaqueValueExpr::operator=; +class CppSharp::CppParser::AST::DeclRefExpr& (CppSharp::CppParser::AST::DeclRefExpr::*_135)(class CppSharp::CppParser::AST::DeclRefExpr&&) = &CppSharp::CppParser::AST::DeclRefExpr::operator=; +class CppSharp::CppParser::AST::IntegerLiteral& (CppSharp::CppParser::AST::IntegerLiteral::*_136)(class CppSharp::CppParser::AST::IntegerLiteral&&) = &CppSharp::CppParser::AST::IntegerLiteral::operator=; +class CppSharp::CppParser::AST::FixedPointLiteral& (CppSharp::CppParser::AST::FixedPointLiteral::*_137)(class CppSharp::CppParser::AST::FixedPointLiteral&&) = &CppSharp::CppParser::AST::FixedPointLiteral::operator=; +class CppSharp::CppParser::AST::CharacterLiteral& (CppSharp::CppParser::AST::CharacterLiteral::*_138)(class CppSharp::CppParser::AST::CharacterLiteral&&) = &CppSharp::CppParser::AST::CharacterLiteral::operator=; +class CppSharp::CppParser::AST::FloatingLiteral& (CppSharp::CppParser::AST::FloatingLiteral::*_139)(class CppSharp::CppParser::AST::FloatingLiteral&&) = &CppSharp::CppParser::AST::FloatingLiteral::operator=; +class CppSharp::CppParser::AST::ImaginaryLiteral& (CppSharp::CppParser::AST::ImaginaryLiteral::*_140)(class CppSharp::CppParser::AST::ImaginaryLiteral&&) = &CppSharp::CppParser::AST::ImaginaryLiteral::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_StringLiteral_StringLiteral___1__N_CppSharp_N_CppParser_N_AST_S_StringLiteral(void* __instance, const CppSharp::CppParser::AST::StringLiteral& _0) { ::new (__instance) CppSharp::CppParser::AST::StringLiteral(_0); } +class CppSharp::CppParser::AST::StringLiteral& (CppSharp::CppParser::AST::StringLiteral::*_141)(class CppSharp::CppParser::AST::StringLiteral&&) = &CppSharp::CppParser::AST::StringLiteral::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_StringLiteral__StringLiteral(CppSharp::CppParser::AST::StringLiteral*__instance) { __instance->~StringLiteral(); } +class CppSharp::CppParser::AST::PredefinedExpr& (CppSharp::CppParser::AST::PredefinedExpr::*_142)(class CppSharp::CppParser::AST::PredefinedExpr&&) = &CppSharp::CppParser::AST::PredefinedExpr::operator=; +class CppSharp::CppParser::AST::ParenExpr& (CppSharp::CppParser::AST::ParenExpr::*_143)(class CppSharp::CppParser::AST::ParenExpr&&) = &CppSharp::CppParser::AST::ParenExpr::operator=; +class CppSharp::CppParser::AST::UnaryOperator& (CppSharp::CppParser::AST::UnaryOperator::*_144)(class CppSharp::CppParser::AST::UnaryOperator&&) = &CppSharp::CppParser::AST::UnaryOperator::operator=; +class CppSharp::CppParser::AST::OffsetOfExpr& (CppSharp::CppParser::AST::OffsetOfExpr::*_145)(class CppSharp::CppParser::AST::OffsetOfExpr&&) = &CppSharp::CppParser::AST::OffsetOfExpr::operator=; +class CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr& (CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr::*_146)(class CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr&&) = &CppSharp::CppParser::AST::UnaryExprOrTypeTraitExpr::operator=; +class CppSharp::CppParser::AST::ArraySubscriptExpr& (CppSharp::CppParser::AST::ArraySubscriptExpr::*_147)(class CppSharp::CppParser::AST::ArraySubscriptExpr&&) = &CppSharp::CppParser::AST::ArraySubscriptExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CallExpr_CallExpr___1__N_CppSharp_N_CppParser_N_AST_S_CallExpr(void* __instance, const CppSharp::CppParser::AST::CallExpr& _0) { ::new (__instance) CppSharp::CppParser::AST::CallExpr(_0); } +class CppSharp::CppParser::AST::CallExpr& (CppSharp::CppParser::AST::CallExpr::*_148)(class CppSharp::CppParser::AST::CallExpr&&) = &CppSharp::CppParser::AST::CallExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CallExpr__CallExpr(CppSharp::CppParser::AST::CallExpr*__instance) { __instance->~CallExpr(); } +class CppSharp::CppParser::AST::MemberExpr& (CppSharp::CppParser::AST::MemberExpr::*_149)(class CppSharp::CppParser::AST::MemberExpr&&) = &CppSharp::CppParser::AST::MemberExpr::operator=; +class CppSharp::CppParser::AST::CompoundLiteralExpr& (CppSharp::CppParser::AST::CompoundLiteralExpr::*_150)(class CppSharp::CppParser::AST::CompoundLiteralExpr&&) = &CppSharp::CppParser::AST::CompoundLiteralExpr::operator=; +class CppSharp::CppParser::AST::CastExpr& (CppSharp::CppParser::AST::CastExpr::*_151)(class CppSharp::CppParser::AST::CastExpr&&) = &CppSharp::CppParser::AST::CastExpr::operator=; +class CppSharp::CppParser::AST::ImplicitCastExpr& (CppSharp::CppParser::AST::ImplicitCastExpr::*_152)(class CppSharp::CppParser::AST::ImplicitCastExpr&&) = &CppSharp::CppParser::AST::ImplicitCastExpr::operator=; +class CppSharp::CppParser::AST::ExplicitCastExpr& (CppSharp::CppParser::AST::ExplicitCastExpr::*_153)(class CppSharp::CppParser::AST::ExplicitCastExpr&&) = &CppSharp::CppParser::AST::ExplicitCastExpr::operator=; +class CppSharp::CppParser::AST::CStyleCastExpr& (CppSharp::CppParser::AST::CStyleCastExpr::*_154)(class CppSharp::CppParser::AST::CStyleCastExpr&&) = &CppSharp::CppParser::AST::CStyleCastExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_BinaryOperator_BinaryOperator___1__N_CppSharp_N_CppParser_N_AST_S_BinaryOperator(void* __instance, const CppSharp::CppParser::AST::BinaryOperator& _0) { ::new (__instance) CppSharp::CppParser::AST::BinaryOperator(_0); } +class CppSharp::CppParser::AST::BinaryOperator& (CppSharp::CppParser::AST::BinaryOperator::*_155)(class CppSharp::CppParser::AST::BinaryOperator&&) = &CppSharp::CppParser::AST::BinaryOperator::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_BinaryOperator__BinaryOperator(CppSharp::CppParser::AST::BinaryOperator*__instance) { __instance->~BinaryOperator(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CompoundAssignOperator_CompoundAssignOperator___1__N_CppSharp_N_CppParser_N_AST_S_CompoundAssignOperator(void* __instance, const CppSharp::CppParser::AST::CompoundAssignOperator& _0) { ::new (__instance) CppSharp::CppParser::AST::CompoundAssignOperator(_0); } +class CppSharp::CppParser::AST::CompoundAssignOperator& (CppSharp::CppParser::AST::CompoundAssignOperator::*_156)(class CppSharp::CppParser::AST::CompoundAssignOperator&&) = &CppSharp::CppParser::AST::CompoundAssignOperator::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CompoundAssignOperator__CompoundAssignOperator(CppSharp::CppParser::AST::CompoundAssignOperator*__instance) { __instance->~CompoundAssignOperator(); } +class CppSharp::CppParser::AST::AbstractConditionalOperator& (CppSharp::CppParser::AST::AbstractConditionalOperator::*_157)(class CppSharp::CppParser::AST::AbstractConditionalOperator&&) = &CppSharp::CppParser::AST::AbstractConditionalOperator::operator=; +class CppSharp::CppParser::AST::ConditionalOperator& (CppSharp::CppParser::AST::ConditionalOperator::*_158)(class CppSharp::CppParser::AST::ConditionalOperator&&) = &CppSharp::CppParser::AST::ConditionalOperator::operator=; +class CppSharp::CppParser::AST::BinaryConditionalOperator& (CppSharp::CppParser::AST::BinaryConditionalOperator::*_159)(class CppSharp::CppParser::AST::BinaryConditionalOperator&&) = &CppSharp::CppParser::AST::BinaryConditionalOperator::operator=; +class CppSharp::CppParser::AST::AddrLabelExpr& (CppSharp::CppParser::AST::AddrLabelExpr::*_160)(class CppSharp::CppParser::AST::AddrLabelExpr&&) = &CppSharp::CppParser::AST::AddrLabelExpr::operator=; +class CppSharp::CppParser::AST::StmtExpr& (CppSharp::CppParser::AST::StmtExpr::*_161)(class CppSharp::CppParser::AST::StmtExpr&&) = &CppSharp::CppParser::AST::StmtExpr::operator=; +class CppSharp::CppParser::AST::ShuffleVectorExpr& (CppSharp::CppParser::AST::ShuffleVectorExpr::*_162)(class CppSharp::CppParser::AST::ShuffleVectorExpr&&) = &CppSharp::CppParser::AST::ShuffleVectorExpr::operator=; +class CppSharp::CppParser::AST::ConvertVectorExpr& (CppSharp::CppParser::AST::ConvertVectorExpr::*_163)(class CppSharp::CppParser::AST::ConvertVectorExpr&&) = &CppSharp::CppParser::AST::ConvertVectorExpr::operator=; +class CppSharp::CppParser::AST::ChooseExpr& (CppSharp::CppParser::AST::ChooseExpr::*_164)(class CppSharp::CppParser::AST::ChooseExpr&&) = &CppSharp::CppParser::AST::ChooseExpr::operator=; +class CppSharp::CppParser::AST::GNUNullExpr& (CppSharp::CppParser::AST::GNUNullExpr::*_165)(class CppSharp::CppParser::AST::GNUNullExpr&&) = &CppSharp::CppParser::AST::GNUNullExpr::operator=; +class CppSharp::CppParser::AST::VAArgExpr& (CppSharp::CppParser::AST::VAArgExpr::*_166)(class CppSharp::CppParser::AST::VAArgExpr&&) = &CppSharp::CppParser::AST::VAArgExpr::operator=; +class CppSharp::CppParser::AST::InitListExpr& (CppSharp::CppParser::AST::InitListExpr::*_167)(class CppSharp::CppParser::AST::InitListExpr&&) = &CppSharp::CppParser::AST::InitListExpr::operator=; +class CppSharp::CppParser::AST::DesignatedInitExpr::Designator& (CppSharp::CppParser::AST::DesignatedInitExpr::Designator::*_168)(class CppSharp::CppParser::AST::DesignatedInitExpr::Designator&&) = &CppSharp::CppParser::AST::DesignatedInitExpr::Designator::operator=; +class CppSharp::CppParser::AST::DesignatedInitExpr::FieldDesignator& (CppSharp::CppParser::AST::DesignatedInitExpr::FieldDesignator::*_169)(class CppSharp::CppParser::AST::DesignatedInitExpr::FieldDesignator&&) = &CppSharp::CppParser::AST::DesignatedInitExpr::FieldDesignator::operator=; +class CppSharp::CppParser::AST::DesignatedInitExpr::ArrayOrRangeDesignator& (CppSharp::CppParser::AST::DesignatedInitExpr::ArrayOrRangeDesignator::*_170)(class CppSharp::CppParser::AST::DesignatedInitExpr::ArrayOrRangeDesignator&&) = &CppSharp::CppParser::AST::DesignatedInitExpr::ArrayOrRangeDesignator::operator=; +class CppSharp::CppParser::AST::DesignatedInitExpr& (CppSharp::CppParser::AST::DesignatedInitExpr::*_171)(class CppSharp::CppParser::AST::DesignatedInitExpr&&) = &CppSharp::CppParser::AST::DesignatedInitExpr::operator=; +class CppSharp::CppParser::AST::NoInitExpr& (CppSharp::CppParser::AST::NoInitExpr::*_172)(class CppSharp::CppParser::AST::NoInitExpr&&) = &CppSharp::CppParser::AST::NoInitExpr::operator=; +class CppSharp::CppParser::AST::DesignatedInitUpdateExpr& (CppSharp::CppParser::AST::DesignatedInitUpdateExpr::*_173)(class CppSharp::CppParser::AST::DesignatedInitUpdateExpr&&) = &CppSharp::CppParser::AST::DesignatedInitUpdateExpr::operator=; +class CppSharp::CppParser::AST::ArrayInitLoopExpr& (CppSharp::CppParser::AST::ArrayInitLoopExpr::*_174)(class CppSharp::CppParser::AST::ArrayInitLoopExpr&&) = &CppSharp::CppParser::AST::ArrayInitLoopExpr::operator=; +class CppSharp::CppParser::AST::ArrayInitIndexExpr& (CppSharp::CppParser::AST::ArrayInitIndexExpr::*_175)(class CppSharp::CppParser::AST::ArrayInitIndexExpr&&) = &CppSharp::CppParser::AST::ArrayInitIndexExpr::operator=; +class CppSharp::CppParser::AST::ImplicitValueInitExpr& (CppSharp::CppParser::AST::ImplicitValueInitExpr::*_176)(class CppSharp::CppParser::AST::ImplicitValueInitExpr&&) = &CppSharp::CppParser::AST::ImplicitValueInitExpr::operator=; +class CppSharp::CppParser::AST::ParenListExpr& (CppSharp::CppParser::AST::ParenListExpr::*_177)(class CppSharp::CppParser::AST::ParenListExpr&&) = &CppSharp::CppParser::AST::ParenListExpr::operator=; +class CppSharp::CppParser::AST::GenericSelectionExpr& (CppSharp::CppParser::AST::GenericSelectionExpr::*_178)(class CppSharp::CppParser::AST::GenericSelectionExpr&&) = &CppSharp::CppParser::AST::GenericSelectionExpr::operator=; +class CppSharp::CppParser::AST::ExtVectorElementExpr& (CppSharp::CppParser::AST::ExtVectorElementExpr::*_179)(class CppSharp::CppParser::AST::ExtVectorElementExpr&&) = &CppSharp::CppParser::AST::ExtVectorElementExpr::operator=; +class CppSharp::CppParser::AST::BlockExpr& (CppSharp::CppParser::AST::BlockExpr::*_180)(class CppSharp::CppParser::AST::BlockExpr&&) = &CppSharp::CppParser::AST::BlockExpr::operator=; +class CppSharp::CppParser::AST::AsTypeExpr& (CppSharp::CppParser::AST::AsTypeExpr::*_181)(class CppSharp::CppParser::AST::AsTypeExpr&&) = &CppSharp::CppParser::AST::AsTypeExpr::operator=; +class CppSharp::CppParser::AST::PseudoObjectExpr& (CppSharp::CppParser::AST::PseudoObjectExpr::*_182)(class CppSharp::CppParser::AST::PseudoObjectExpr&&) = &CppSharp::CppParser::AST::PseudoObjectExpr::operator=; +class CppSharp::CppParser::AST::AtomicExpr& (CppSharp::CppParser::AST::AtomicExpr::*_183)(class CppSharp::CppParser::AST::AtomicExpr&&) = &CppSharp::CppParser::AST::AtomicExpr::operator=; +class CppSharp::CppParser::AST::TypoExpr& (CppSharp::CppParser::AST::TypoExpr::*_184)(class CppSharp::CppParser::AST::TypoExpr&&) = &CppSharp::CppParser::AST::TypoExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXOperatorCallExpr_CXXOperatorCallExpr___1__N_CppSharp_N_CppParser_N_AST_S_CXXOperatorCallExpr(void* __instance, const CppSharp::CppParser::AST::CXXOperatorCallExpr& _0) { ::new (__instance) CppSharp::CppParser::AST::CXXOperatorCallExpr(_0); } +class CppSharp::CppParser::AST::CXXOperatorCallExpr& (CppSharp::CppParser::AST::CXXOperatorCallExpr::*_185)(class CppSharp::CppParser::AST::CXXOperatorCallExpr&&) = &CppSharp::CppParser::AST::CXXOperatorCallExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXOperatorCallExpr__CXXOperatorCallExpr(CppSharp::CppParser::AST::CXXOperatorCallExpr*__instance) { __instance->~CXXOperatorCallExpr(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXMemberCallExpr_CXXMemberCallExpr___1__N_CppSharp_N_CppParser_N_AST_S_CXXMemberCallExpr(void* __instance, const CppSharp::CppParser::AST::CXXMemberCallExpr& _0) { ::new (__instance) CppSharp::CppParser::AST::CXXMemberCallExpr(_0); } +class CppSharp::CppParser::AST::CXXMemberCallExpr& (CppSharp::CppParser::AST::CXXMemberCallExpr::*_186)(class CppSharp::CppParser::AST::CXXMemberCallExpr&&) = &CppSharp::CppParser::AST::CXXMemberCallExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXMemberCallExpr__CXXMemberCallExpr(CppSharp::CppParser::AST::CXXMemberCallExpr*__instance) { __instance->~CXXMemberCallExpr(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CUDAKernelCallExpr_CUDAKernelCallExpr___1__N_CppSharp_N_CppParser_N_AST_S_CUDAKernelCallExpr(void* __instance, const CppSharp::CppParser::AST::CUDAKernelCallExpr& _0) { ::new (__instance) CppSharp::CppParser::AST::CUDAKernelCallExpr(_0); } +class CppSharp::CppParser::AST::CUDAKernelCallExpr& (CppSharp::CppParser::AST::CUDAKernelCallExpr::*_187)(class CppSharp::CppParser::AST::CUDAKernelCallExpr&&) = &CppSharp::CppParser::AST::CUDAKernelCallExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CUDAKernelCallExpr__CUDAKernelCallExpr(CppSharp::CppParser::AST::CUDAKernelCallExpr*__instance) { __instance->~CUDAKernelCallExpr(); } +class CppSharp::CppParser::AST::CXXNamedCastExpr& (CppSharp::CppParser::AST::CXXNamedCastExpr::*_188)(class CppSharp::CppParser::AST::CXXNamedCastExpr&&) = &CppSharp::CppParser::AST::CXXNamedCastExpr::operator=; +class CppSharp::CppParser::AST::CXXStaticCastExpr& (CppSharp::CppParser::AST::CXXStaticCastExpr::*_189)(class CppSharp::CppParser::AST::CXXStaticCastExpr&&) = &CppSharp::CppParser::AST::CXXStaticCastExpr::operator=; +class CppSharp::CppParser::AST::CXXDynamicCastExpr& (CppSharp::CppParser::AST::CXXDynamicCastExpr::*_190)(class CppSharp::CppParser::AST::CXXDynamicCastExpr&&) = &CppSharp::CppParser::AST::CXXDynamicCastExpr::operator=; +class CppSharp::CppParser::AST::CXXReinterpretCastExpr& (CppSharp::CppParser::AST::CXXReinterpretCastExpr::*_191)(class CppSharp::CppParser::AST::CXXReinterpretCastExpr&&) = &CppSharp::CppParser::AST::CXXReinterpretCastExpr::operator=; +class CppSharp::CppParser::AST::CXXConstCastExpr& (CppSharp::CppParser::AST::CXXConstCastExpr::*_192)(class CppSharp::CppParser::AST::CXXConstCastExpr&&) = &CppSharp::CppParser::AST::CXXConstCastExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_UserDefinedLiteral_UserDefinedLiteral___1__N_CppSharp_N_CppParser_N_AST_S_UserDefinedLiteral(void* __instance, const CppSharp::CppParser::AST::UserDefinedLiteral& _0) { ::new (__instance) CppSharp::CppParser::AST::UserDefinedLiteral(_0); } +class CppSharp::CppParser::AST::UserDefinedLiteral& (CppSharp::CppParser::AST::UserDefinedLiteral::*_193)(class CppSharp::CppParser::AST::UserDefinedLiteral&&) = &CppSharp::CppParser::AST::UserDefinedLiteral::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_UserDefinedLiteral__UserDefinedLiteral(CppSharp::CppParser::AST::UserDefinedLiteral*__instance) { __instance->~UserDefinedLiteral(); } +class CppSharp::CppParser::AST::CXXBoolLiteralExpr& (CppSharp::CppParser::AST::CXXBoolLiteralExpr::*_194)(class CppSharp::CppParser::AST::CXXBoolLiteralExpr&&) = &CppSharp::CppParser::AST::CXXBoolLiteralExpr::operator=; +class CppSharp::CppParser::AST::CXXNullPtrLiteralExpr& (CppSharp::CppParser::AST::CXXNullPtrLiteralExpr::*_195)(class CppSharp::CppParser::AST::CXXNullPtrLiteralExpr&&) = &CppSharp::CppParser::AST::CXXNullPtrLiteralExpr::operator=; +class CppSharp::CppParser::AST::CXXStdInitializerListExpr& (CppSharp::CppParser::AST::CXXStdInitializerListExpr::*_196)(class CppSharp::CppParser::AST::CXXStdInitializerListExpr&&) = &CppSharp::CppParser::AST::CXXStdInitializerListExpr::operator=; +class CppSharp::CppParser::AST::CXXTypeidExpr& (CppSharp::CppParser::AST::CXXTypeidExpr::*_197)(class CppSharp::CppParser::AST::CXXTypeidExpr&&) = &CppSharp::CppParser::AST::CXXTypeidExpr::operator=; +class CppSharp::CppParser::AST::MSPropertyRefExpr& (CppSharp::CppParser::AST::MSPropertyRefExpr::*_198)(class CppSharp::CppParser::AST::MSPropertyRefExpr&&) = &CppSharp::CppParser::AST::MSPropertyRefExpr::operator=; +class CppSharp::CppParser::AST::MSPropertySubscriptExpr& (CppSharp::CppParser::AST::MSPropertySubscriptExpr::*_199)(class CppSharp::CppParser::AST::MSPropertySubscriptExpr&&) = &CppSharp::CppParser::AST::MSPropertySubscriptExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXUuidofExpr_CXXUuidofExpr___1__N_CppSharp_N_CppParser_N_AST_S_CXXUuidofExpr(void* __instance, const CppSharp::CppParser::AST::CXXUuidofExpr& _0) { ::new (__instance) CppSharp::CppParser::AST::CXXUuidofExpr(_0); } +class CppSharp::CppParser::AST::CXXUuidofExpr& (CppSharp::CppParser::AST::CXXUuidofExpr::*_200)(class CppSharp::CppParser::AST::CXXUuidofExpr&&) = &CppSharp::CppParser::AST::CXXUuidofExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXUuidofExpr__CXXUuidofExpr(CppSharp::CppParser::AST::CXXUuidofExpr*__instance) { __instance->~CXXUuidofExpr(); } +class CppSharp::CppParser::AST::CXXThisExpr& (CppSharp::CppParser::AST::CXXThisExpr::*_201)(class CppSharp::CppParser::AST::CXXThisExpr&&) = &CppSharp::CppParser::AST::CXXThisExpr::operator=; +class CppSharp::CppParser::AST::CXXThrowExpr& (CppSharp::CppParser::AST::CXXThrowExpr::*_202)(class CppSharp::CppParser::AST::CXXThrowExpr&&) = &CppSharp::CppParser::AST::CXXThrowExpr::operator=; +class CppSharp::CppParser::AST::CXXDefaultArgExpr& (CppSharp::CppParser::AST::CXXDefaultArgExpr::*_203)(class CppSharp::CppParser::AST::CXXDefaultArgExpr&&) = &CppSharp::CppParser::AST::CXXDefaultArgExpr::operator=; +class CppSharp::CppParser::AST::CXXDefaultInitExpr& (CppSharp::CppParser::AST::CXXDefaultInitExpr::*_204)(class CppSharp::CppParser::AST::CXXDefaultInitExpr&&) = &CppSharp::CppParser::AST::CXXDefaultInitExpr::operator=; +class CppSharp::CppParser::AST::CXXBindTemporaryExpr& (CppSharp::CppParser::AST::CXXBindTemporaryExpr::*_205)(class CppSharp::CppParser::AST::CXXBindTemporaryExpr&&) = &CppSharp::CppParser::AST::CXXBindTemporaryExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXConstructExpr_CXXConstructExpr___1__N_CppSharp_N_CppParser_N_AST_S_CXXConstructExpr(void* __instance, const CppSharp::CppParser::AST::CXXConstructExpr& _0) { ::new (__instance) CppSharp::CppParser::AST::CXXConstructExpr(_0); } +class CppSharp::CppParser::AST::CXXConstructExpr& (CppSharp::CppParser::AST::CXXConstructExpr::*_206)(class CppSharp::CppParser::AST::CXXConstructExpr&&) = &CppSharp::CppParser::AST::CXXConstructExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXConstructExpr__CXXConstructExpr(CppSharp::CppParser::AST::CXXConstructExpr*__instance) { __instance->~CXXConstructExpr(); } +class CppSharp::CppParser::AST::CXXInheritedCtorInitExpr& (CppSharp::CppParser::AST::CXXInheritedCtorInitExpr::*_207)(class CppSharp::CppParser::AST::CXXInheritedCtorInitExpr&&) = &CppSharp::CppParser::AST::CXXInheritedCtorInitExpr::operator=; +class CppSharp::CppParser::AST::CXXFunctionalCastExpr& (CppSharp::CppParser::AST::CXXFunctionalCastExpr::*_208)(class CppSharp::CppParser::AST::CXXFunctionalCastExpr&&) = &CppSharp::CppParser::AST::CXXFunctionalCastExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXTemporaryObjectExpr_CXXTemporaryObjectExpr___1__N_CppSharp_N_CppParser_N_AST_S_CXXTemporaryObjectExpr(void* __instance, const CppSharp::CppParser::AST::CXXTemporaryObjectExpr& _0) { ::new (__instance) CppSharp::CppParser::AST::CXXTemporaryObjectExpr(_0); } +class CppSharp::CppParser::AST::CXXTemporaryObjectExpr& (CppSharp::CppParser::AST::CXXTemporaryObjectExpr::*_209)(class CppSharp::CppParser::AST::CXXTemporaryObjectExpr&&) = &CppSharp::CppParser::AST::CXXTemporaryObjectExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXTemporaryObjectExpr__CXXTemporaryObjectExpr(CppSharp::CppParser::AST::CXXTemporaryObjectExpr*__instance) { __instance->~CXXTemporaryObjectExpr(); } +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_LambdaExpr_LambdaExpr___1__N_CppSharp_N_CppParser_N_AST_S_LambdaExpr(void* __instance, const CppSharp::CppParser::AST::LambdaExpr& _0) { ::new (__instance) CppSharp::CppParser::AST::LambdaExpr(_0); } +class CppSharp::CppParser::AST::LambdaExpr& (CppSharp::CppParser::AST::LambdaExpr::*_210)(class CppSharp::CppParser::AST::LambdaExpr&&) = &CppSharp::CppParser::AST::LambdaExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_LambdaExpr__LambdaExpr(CppSharp::CppParser::AST::LambdaExpr*__instance) { __instance->~LambdaExpr(); } +class CppSharp::CppParser::AST::CXXScalarValueInitExpr& (CppSharp::CppParser::AST::CXXScalarValueInitExpr::*_211)(class CppSharp::CppParser::AST::CXXScalarValueInitExpr&&) = &CppSharp::CppParser::AST::CXXScalarValueInitExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXNewExpr_CXXNewExpr___1__N_CppSharp_N_CppParser_N_AST_S_CXXNewExpr(void* __instance, const CppSharp::CppParser::AST::CXXNewExpr& _0) { ::new (__instance) CppSharp::CppParser::AST::CXXNewExpr(_0); } +class CppSharp::CppParser::AST::CXXNewExpr& (CppSharp::CppParser::AST::CXXNewExpr::*_212)(class CppSharp::CppParser::AST::CXXNewExpr&&) = &CppSharp::CppParser::AST::CXXNewExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXNewExpr__CXXNewExpr(CppSharp::CppParser::AST::CXXNewExpr*__instance) { __instance->~CXXNewExpr(); } +class CppSharp::CppParser::AST::CXXDeleteExpr& (CppSharp::CppParser::AST::CXXDeleteExpr::*_213)(class CppSharp::CppParser::AST::CXXDeleteExpr&&) = &CppSharp::CppParser::AST::CXXDeleteExpr::operator=; +class CppSharp::CppParser::AST::CXXPseudoDestructorExpr& (CppSharp::CppParser::AST::CXXPseudoDestructorExpr::*_214)(class CppSharp::CppParser::AST::CXXPseudoDestructorExpr&&) = &CppSharp::CppParser::AST::CXXPseudoDestructorExpr::operator=; +class CppSharp::CppParser::AST::TypeTraitExpr& (CppSharp::CppParser::AST::TypeTraitExpr::*_215)(class CppSharp::CppParser::AST::TypeTraitExpr&&) = &CppSharp::CppParser::AST::TypeTraitExpr::operator=; +class CppSharp::CppParser::AST::ArrayTypeTraitExpr& (CppSharp::CppParser::AST::ArrayTypeTraitExpr::*_216)(class CppSharp::CppParser::AST::ArrayTypeTraitExpr&&) = &CppSharp::CppParser::AST::ArrayTypeTraitExpr::operator=; +class CppSharp::CppParser::AST::ExpressionTraitExpr& (CppSharp::CppParser::AST::ExpressionTraitExpr::*_217)(class CppSharp::CppParser::AST::ExpressionTraitExpr&&) = &CppSharp::CppParser::AST::ExpressionTraitExpr::operator=; +class CppSharp::CppParser::AST::OverloadExpr::FindResult& (CppSharp::CppParser::AST::OverloadExpr::FindResult::*_218)(class CppSharp::CppParser::AST::OverloadExpr::FindResult&&) = &CppSharp::CppParser::AST::OverloadExpr::FindResult::operator=; +class CppSharp::CppParser::AST::OverloadExpr& (CppSharp::CppParser::AST::OverloadExpr::*_219)(class CppSharp::CppParser::AST::OverloadExpr&&) = &CppSharp::CppParser::AST::OverloadExpr::operator=; +class CppSharp::CppParser::AST::UnresolvedLookupExpr& (CppSharp::CppParser::AST::UnresolvedLookupExpr::*_220)(class CppSharp::CppParser::AST::UnresolvedLookupExpr&&) = &CppSharp::CppParser::AST::UnresolvedLookupExpr::operator=; +class CppSharp::CppParser::AST::DependentScopeDeclRefExpr& (CppSharp::CppParser::AST::DependentScopeDeclRefExpr::*_221)(class CppSharp::CppParser::AST::DependentScopeDeclRefExpr&&) = &CppSharp::CppParser::AST::DependentScopeDeclRefExpr::operator=; +class CppSharp::CppParser::AST::ExprWithCleanups& (CppSharp::CppParser::AST::ExprWithCleanups::*_222)(class CppSharp::CppParser::AST::ExprWithCleanups&&) = &CppSharp::CppParser::AST::ExprWithCleanups::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXUnresolvedConstructExpr_CXXUnresolvedConstructExpr___1__N_CppSharp_N_CppParser_N_AST_S_CXXUnresolvedConstructExpr(void* __instance, const CppSharp::CppParser::AST::CXXUnresolvedConstructExpr& _0) { ::new (__instance) CppSharp::CppParser::AST::CXXUnresolvedConstructExpr(_0); } +class CppSharp::CppParser::AST::CXXUnresolvedConstructExpr& (CppSharp::CppParser::AST::CXXUnresolvedConstructExpr::*_223)(class CppSharp::CppParser::AST::CXXUnresolvedConstructExpr&&) = &CppSharp::CppParser::AST::CXXUnresolvedConstructExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_N_AST_S_CXXUnresolvedConstructExpr__CXXUnresolvedConstructExpr(CppSharp::CppParser::AST::CXXUnresolvedConstructExpr*__instance) { __instance->~CXXUnresolvedConstructExpr(); } +class CppSharp::CppParser::AST::CXXDependentScopeMemberExpr& (CppSharp::CppParser::AST::CXXDependentScopeMemberExpr::*_224)(class CppSharp::CppParser::AST::CXXDependentScopeMemberExpr&&) = &CppSharp::CppParser::AST::CXXDependentScopeMemberExpr::operator=; +class CppSharp::CppParser::AST::UnresolvedMemberExpr& (CppSharp::CppParser::AST::UnresolvedMemberExpr::*_225)(class CppSharp::CppParser::AST::UnresolvedMemberExpr&&) = &CppSharp::CppParser::AST::UnresolvedMemberExpr::operator=; +class CppSharp::CppParser::AST::CXXNoexceptExpr& (CppSharp::CppParser::AST::CXXNoexceptExpr::*_226)(class CppSharp::CppParser::AST::CXXNoexceptExpr&&) = &CppSharp::CppParser::AST::CXXNoexceptExpr::operator=; +class CppSharp::CppParser::AST::PackExpansionExpr& (CppSharp::CppParser::AST::PackExpansionExpr::*_227)(class CppSharp::CppParser::AST::PackExpansionExpr&&) = &CppSharp::CppParser::AST::PackExpansionExpr::operator=; +class CppSharp::CppParser::AST::SizeOfPackExpr& (CppSharp::CppParser::AST::SizeOfPackExpr::*_228)(class CppSharp::CppParser::AST::SizeOfPackExpr&&) = &CppSharp::CppParser::AST::SizeOfPackExpr::operator=; +class CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr& (CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr::*_229)(class CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr&&) = &CppSharp::CppParser::AST::SubstNonTypeTemplateParmExpr::operator=; +class CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr& (CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr::*_230)(class CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr&&) = &CppSharp::CppParser::AST::SubstNonTypeTemplateParmPackExpr::operator=; +class CppSharp::CppParser::AST::FunctionParmPackExpr& (CppSharp::CppParser::AST::FunctionParmPackExpr::*_231)(class CppSharp::CppParser::AST::FunctionParmPackExpr&&) = &CppSharp::CppParser::AST::FunctionParmPackExpr::operator=; +class CppSharp::CppParser::AST::MaterializeTemporaryExpr::ExtraState& (CppSharp::CppParser::AST::MaterializeTemporaryExpr::ExtraState::*_232)(class CppSharp::CppParser::AST::MaterializeTemporaryExpr::ExtraState&&) = &CppSharp::CppParser::AST::MaterializeTemporaryExpr::ExtraState::operator=; +class CppSharp::CppParser::AST::MaterializeTemporaryExpr& (CppSharp::CppParser::AST::MaterializeTemporaryExpr::*_233)(class CppSharp::CppParser::AST::MaterializeTemporaryExpr&&) = &CppSharp::CppParser::AST::MaterializeTemporaryExpr::operator=; +class CppSharp::CppParser::AST::CXXFoldExpr& (CppSharp::CppParser::AST::CXXFoldExpr::*_234)(class CppSharp::CppParser::AST::CXXFoldExpr&&) = &CppSharp::CppParser::AST::CXXFoldExpr::operator=; +class CppSharp::CppParser::AST::CoroutineSuspendExpr& (CppSharp::CppParser::AST::CoroutineSuspendExpr::*_235)(class CppSharp::CppParser::AST::CoroutineSuspendExpr&&) = &CppSharp::CppParser::AST::CoroutineSuspendExpr::operator=; +class CppSharp::CppParser::AST::CoawaitExpr& (CppSharp::CppParser::AST::CoawaitExpr::*_236)(class CppSharp::CppParser::AST::CoawaitExpr&&) = &CppSharp::CppParser::AST::CoawaitExpr::operator=; +class CppSharp::CppParser::AST::DependentCoawaitExpr& (CppSharp::CppParser::AST::DependentCoawaitExpr::*_237)(class CppSharp::CppParser::AST::DependentCoawaitExpr&&) = &CppSharp::CppParser::AST::DependentCoawaitExpr::operator=; +class CppSharp::CppParser::AST::CoyieldExpr& (CppSharp::CppParser::AST::CoyieldExpr::*_238)(class CppSharp::CppParser::AST::CoyieldExpr&&) = &CppSharp::CppParser::AST::CoyieldExpr::operator=; +extern "C" void c__N_CppSharp_N_CppParser_S_ParserTargetInfo_ParserTargetInfo___1__N_CppSharp_N_CppParser_S_ParserTargetInfo(void* __instance, const CppSharp::CppParser::ParserTargetInfo& _0) { ::new (__instance) CppSharp::CppParser::ParserTargetInfo(_0); } +struct CppSharp::CppParser::ParserTargetInfo& (CppSharp::CppParser::ParserTargetInfo::*_239)(const struct CppSharp::CppParser::ParserTargetInfo&) = &CppSharp::CppParser::ParserTargetInfo::operator=; +extern "C" void c__N_CppSharp_N_CppParser_S_CppParserOptions_CppParserOptions___1__N_CppSharp_N_CppParser_S_CppParserOptions(void* __instance, const CppSharp::CppParser::CppParserOptions& _0) { ::new (__instance) CppSharp::CppParser::CppParserOptions(_0); } +struct CppSharp::CppParser::CppParserOptions& (CppSharp::CppParser::CppParserOptions::*_240)(const struct CppSharp::CppParser::CppParserOptions&) = &CppSharp::CppParser::CppParserOptions::operator=; +extern "C" void c__N_CppSharp_N_CppParser_S_CppLinkerOptions_CppLinkerOptions___1__N_CppSharp_N_CppParser_S_CppLinkerOptions(void* __instance, const CppSharp::CppParser::CppLinkerOptions& _0) { ::new (__instance) CppSharp::CppParser::CppLinkerOptions(_0); } +struct CppSharp::CppParser::CppLinkerOptions& (CppSharp::CppParser::CppLinkerOptions::*_241)(const struct CppSharp::CppParser::CppLinkerOptions&) = &CppSharp::CppParser::CppLinkerOptions::operator=; +struct CppSharp::CppParser::ParserDiagnostic& (CppSharp::CppParser::ParserDiagnostic::*_242)(const struct CppSharp::CppParser::ParserDiagnostic&) = &CppSharp::CppParser::ParserDiagnostic::operator=; +struct CppSharp::CppParser::ParserResult& (CppSharp::CppParser::ParserResult::*_243)(const struct CppSharp::CppParser::ParserResult&) = &CppSharp::CppParser::ParserResult::operator=; +class CppSharp::CppParser::ClangParser& (CppSharp::CppParser::ClangParser::*_244)(class CppSharp::CppParser::ClangParser&&) = &CppSharp::CppParser::ClangParser::operator=; diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin/CppSharp.CppParser.cs similarity index 85% rename from src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs rename to src/CppParser/Bindings/CSharp/x86_64-apple-darwin/CppSharp.CppParser.cs index 2c6915daa5..a074a3d4ad 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin/CppSharp.CppParser.cs @@ -7,6 +7,7 @@ using System; using System.Runtime.InteropServices; using System.Security; +using __NativeMemory = global::System.Runtime.InteropServices.NativeMemory; using __CallingConvention = global::System.Runtime.InteropServices.CallingConvention; using __IntPtr = global::System.IntPtr; using System.Runtime.CompilerServices; @@ -62,12 +63,19 @@ public enum ArchType public unsafe partial class NativeLibrary : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public partial struct __Internal { - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C FileName; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.ArchType archType; + + [FieldOffset(32)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Symbols; + + [FieldOffset(56)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Dependencies; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -97,6 +105,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearDependencies(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary11getFileNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFileName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary11setFileNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetFileName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSymbolsCount(__IntPtr __instance); @@ -148,7 +162,7 @@ internal static NativeLibrary __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -169,7 +183,7 @@ protected NativeLibrary(void* native, bool skipVTables = false) public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -177,7 +191,7 @@ public NativeLibrary() public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -202,7 +216,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -238,30 +252,30 @@ public void ClearDependencies() __Internal.ClearDependencies(__Instance); } - public string FileName + public global::CppSharp.Parser.AST.ArchType ArchType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->archType; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + ((__Internal*)__Instance)->archType = value; } } - public global::CppSharp.Parser.AST.ArchType ArchType + public string FileName { get { - return ((__Internal*)__Instance)->archType; + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->archType = value; + __Internal.SetFileName(__Instance, value); } } @@ -286,9 +300,10 @@ public uint DependenciesCount public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -342,7 +357,7 @@ internal static Comment __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -363,7 +378,7 @@ protected Comment(void* native, bool skipVTables = false) public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Comment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -371,7 +386,7 @@ public Comment(global::CppSharp.Parser.AST.CommentKind kind) public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Comment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); @@ -391,7 +406,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -416,9 +431,10 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -457,7 +473,7 @@ internal static BlockContentComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -477,7 +493,7 @@ protected BlockContentComment(void* native, bool skipVTables = false) public BlockContentComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -486,7 +502,7 @@ public BlockContentComment() public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -495,7 +511,7 @@ public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); @@ -509,10 +525,13 @@ public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(8)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S0_ Blocks; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11FullCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -563,7 +582,7 @@ internal static FullComment __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -583,7 +602,7 @@ protected FullComment(void* native, bool skipVTables = false) public FullComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -592,7 +611,7 @@ public FullComment() public FullComment(global::CppSharp.Parser.AST.FullComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -612,7 +631,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -649,10 +668,13 @@ public uint BlocksCount public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineContentCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -691,7 +713,7 @@ internal static InlineContentComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -711,7 +733,7 @@ protected InlineContentComment(void* native, bool skipVTables = false) public InlineContentComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -720,7 +742,7 @@ public InlineContentComment() public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -729,7 +751,7 @@ public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); @@ -756,11 +778,16 @@ public bool HasTrailingNewline public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte isWhitespace; + + [FieldOffset(8)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S0_ Content; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ParagraphCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -811,7 +838,7 @@ internal static ParagraphComment __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -831,7 +858,7 @@ protected ParagraphComment(void* native, bool skipVTables = false) public ParagraphComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -840,7 +867,7 @@ public ParagraphComment() public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -860,7 +887,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -910,12 +937,19 @@ public uint ContentCount public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -945,10 +979,11 @@ public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.Bl public unsafe partial class Argument : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -958,6 +993,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8Argument7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8Argument7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -1004,7 +1045,7 @@ internal static Argument __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1025,7 +1066,7 @@ protected Argument(void* native, bool skipVTables = false) public Argument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1033,7 +1074,7 @@ public Argument() public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1058,7 +1099,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1066,13 +1107,13 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } @@ -1103,7 +1144,7 @@ internal static BlockCommandComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1123,7 +1164,7 @@ protected BlockCommandComment(void* native, bool skipVTables = false) public BlockCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1132,7 +1173,7 @@ public BlockCommandComment() public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -1141,7 +1182,7 @@ public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1161,7 +1202,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1231,14 +1272,25 @@ public uint ArgumentsCount public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(40)] internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; + + [FieldOffset(44)] internal uint paramIndex; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1284,7 +1336,7 @@ internal static ParamCommandComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1304,7 +1356,7 @@ protected ParamCommandComment(void* native, bool skipVTables = false) public ParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1313,7 +1365,7 @@ public ParamCommandComment() public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1333,7 +1385,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1366,13 +1418,22 @@ public uint ParamIndex public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(40)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector__i___N_std_N___1_S_allocator__i Position; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1423,7 +1484,7 @@ internal static TParamCommandComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1443,7 +1504,7 @@ protected TParamCommandComment(void* native, bool skipVTables = false) public TParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1452,7 +1513,7 @@ public TParamCommandComment() public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1472,7 +1533,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1508,11 +1569,14 @@ public uint PositionCount public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -1522,6 +1586,12 @@ public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.A [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new VerbatimBlockLineComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -1550,7 +1620,7 @@ internal static VerbatimBlockLineComment __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1570,7 +1640,7 @@ protected VerbatimBlockLineComment(void* native, bool skipVTables = false) public VerbatimBlockLineComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1579,7 +1649,7 @@ public VerbatimBlockLineComment() public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1599,7 +1669,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1607,26 +1677,35 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(40)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S0_ Lines; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1677,7 +1756,7 @@ internal static VerbatimBlockComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1697,7 +1776,7 @@ protected VerbatimBlockComment(void* native, bool skipVTables = false) public VerbatimBlockComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1706,7 +1785,7 @@ public VerbatimBlockComment() public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1726,7 +1805,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1763,14 +1842,23 @@ public uint LinesCount public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -1780,6 +1868,12 @@ public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.Bl [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new VerbatimLineComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -1808,7 +1902,7 @@ internal static VerbatimLineComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1828,7 +1922,7 @@ protected VerbatimLineComment(void* native, bool skipVTables = false) public VerbatimLineComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1837,7 +1931,7 @@ public VerbatimLineComment() public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1857,7 +1951,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1865,26 +1959,35 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; + + [FieldOffset(8)] internal uint commandId; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; + + [FieldOffset(16)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1920,10 +2023,11 @@ public enum RenderKind : uint public unsafe partial class Argument : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -1933,6 +2037,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8Argument7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8Argument7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -1979,7 +2089,7 @@ internal static Argument __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2000,7 +2110,7 @@ protected Argument(void* native, bool skipVTables = false) public Argument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2008,7 +2118,7 @@ public Argument() public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2033,7 +2143,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2041,13 +2151,13 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } @@ -2078,7 +2188,7 @@ internal static InlineCommandComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2098,7 +2208,7 @@ protected InlineCommandComment(void* native, bool skipVTables = false) public InlineCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2107,7 +2217,7 @@ public InlineCommandComment() public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2127,7 +2237,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2191,10 +2301,13 @@ public uint ArgumentsCount public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -2233,7 +2346,7 @@ internal static HTMLTagComment __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -2253,7 +2366,7 @@ protected HTMLTagComment(void* native, bool skipVTables = false) public HTMLTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2262,7 +2375,7 @@ public HTMLTagComment() public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -2271,7 +2384,7 @@ public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); @@ -2285,12 +2398,19 @@ public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C TagName; + + [FieldOffset(32)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S0_ Attributes; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -2311,17 +2431,26 @@ public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HT [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment15clearAttributesEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearAttributes(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment10getTagNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTagName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment10setTagNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTagName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetAttributesCount(__IntPtr __instance); } public unsafe partial class Attribute : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public partial struct __Internal { - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C value; + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -2331,6 +2460,18 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute8getValueEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetValue(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute8setValueEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetValue(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -2377,7 +2518,7 @@ internal static Attribute __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2398,7 +2539,7 @@ protected Attribute(void* native, bool skipVTables = false) public Attribute() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2406,7 +2547,7 @@ public Attribute() public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2431,7 +2572,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2439,13 +2580,13 @@ public string Name { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + __Internal.SetName(__Instance, value); } } @@ -2453,13 +2594,13 @@ public string Value { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->value)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetValue(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->value), value); + __Internal.SetValue(__Instance, value); } } } @@ -2490,7 +2631,7 @@ internal static HTMLStartTagComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2510,7 +2651,7 @@ protected HTMLStartTagComment(void* native, bool skipVTables = false) public HTMLStartTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2519,7 +2660,7 @@ public HTMLStartTagComment() public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2539,7 +2680,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2569,13 +2710,13 @@ public string TagName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->tagName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetTagName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->tagName), value); + __Internal.SetTagName(__Instance, value); } } @@ -2591,12 +2732,17 @@ public uint AttributesCount public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C tagName; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C TagName; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -2606,6 +2752,12 @@ public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTML [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagComment10getTagNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTagName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagComment10setTagNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTagName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new HTMLEndTagComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -2634,7 +2786,7 @@ internal static HTMLEndTagComment __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2654,7 +2806,7 @@ protected HTMLEndTagComment(void* native, bool skipVTables = false) public HTMLEndTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2663,7 +2815,7 @@ public HTMLEndTagComment() public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2683,7 +2835,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2691,25 +2843,30 @@ public string TagName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->tagName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetTagName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->tagName), value); + __Internal.SetTagName(__Instance, value); } } } public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -2719,6 +2876,12 @@ public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineCont [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new TextComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -2747,7 +2910,7 @@ internal static TextComment __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2767,7 +2930,7 @@ protected TextComment(void* native, bool skipVTables = false) public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TextComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2776,7 +2939,7 @@ public TextComment() public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TextComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2796,7 +2959,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2804,25 +2967,32 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.RawCommentKind kind; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C briefText; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C BriefText; + + [FieldOffset(56)] internal __IntPtr fullCommentBlock; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -2833,6 +3003,18 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBriefText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBriefText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -2879,7 +3061,7 @@ internal static RawComment __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2900,7 +3082,7 @@ protected RawComment(void* native, bool skipVTables = false) public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.RawComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2908,7 +3090,7 @@ public RawComment() public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.RawComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2933,7 +3115,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2950,45 +3132,45 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) } } - public string Text + public global::CppSharp.Parser.AST.FullComment FullCommentBlock { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var __result0 = global::CppSharp.Parser.AST.FullComment.__GetOrCreateInstance(((__Internal*)__Instance)->fullCommentBlock, false); + return __result0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + ((__Internal*)__Instance)->fullCommentBlock = value is null ? __IntPtr.Zero : value.__Instance; } } - public string BriefText + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->briefText)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->briefText), value); + __Internal.SetText(__Instance, value); } } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public string BriefText { get { - var __result0 = global::CppSharp.Parser.AST.FullComment.__GetOrCreateInstance(((__Internal*)__Instance)->fullCommentBlock, false); - return __result0; + var ___ret = __Internal.GetBriefText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->fullCommentBlock = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetBriefText(__Instance, value); } } } @@ -3002,9 +3184,10 @@ namespace Parser { public unsafe partial struct SourceLocation { - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { + [FieldOffset(0)] internal uint ID; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser14SourceLocationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3090,10 +3273,13 @@ public uint ID public unsafe partial class SourceRange : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] @@ -3147,7 +3333,7 @@ internal static SourceRange __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -3168,7 +3354,7 @@ protected SourceRange(void* native, bool skipVTables = false) public SourceRange(global::CppSharp.Parser.SourceRange _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.SourceRange.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); @@ -3176,7 +3362,7 @@ public SourceRange(global::CppSharp.Parser.SourceRange _0) public SourceRange() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.SourceRange.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3196,7 +3382,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3314,10 +3500,13 @@ public enum ExceptionSpecType public unsafe partial class Type : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -3371,7 +3560,7 @@ internal static Type __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -3392,7 +3581,7 @@ protected Type(void* native, bool skipVTables = false) public Type(global::CppSharp.Parser.AST.TypeKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Type.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -3400,7 +3589,7 @@ public Type(global::CppSharp.Parser.AST.TypeKind kind) public Type(global::CppSharp.Parser.AST.Type _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Type.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -3423,7 +3612,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3461,11 +3650,16 @@ public bool IsDependent public unsafe partial class TypeQualifiers : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 3)] + [StructLayout(LayoutKind.Explicit, Size = 3)] public partial struct __Internal { + [FieldOffset(0)] internal byte isConst; + + [FieldOffset(1)] internal byte isVolatile; + + [FieldOffset(2)] internal byte isRestrict; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] @@ -3516,7 +3710,7 @@ internal static TypeQualifiers __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -3537,7 +3731,7 @@ protected TypeQualifiers(void* native, bool skipVTables = false) public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); @@ -3545,7 +3739,7 @@ public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) public TypeQualifiers() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } @@ -3564,7 +3758,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3610,10 +3804,13 @@ public bool IsRestrict public unsafe partial class QualifiedType : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { + [FieldOffset(0)] internal __IntPtr type; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3667,7 +3864,7 @@ internal static QualifiedType __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -3688,7 +3885,7 @@ protected QualifiedType(void* native, bool skipVTables = false) public QualifiedType() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3696,7 +3893,7 @@ public QualifiedType() public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); @@ -3716,7 +3913,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3752,11 +3949,16 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7TagTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3792,7 +3994,7 @@ internal static TagType __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -3812,7 +4014,7 @@ protected TagType(void* native, bool skipVTables = false) public TagType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TagType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3821,7 +4023,7 @@ public TagType() public TagType(global::CppSharp.Parser.AST.TagType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TagType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -3847,14 +4049,25 @@ public TagType(global::CppSharp.Parser.AST.TagType _0) public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + + [FieldOffset(32)] internal long size; + + [FieldOffset(40)] internal long elementSize; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3898,7 +4111,7 @@ internal static ArrayType __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -3918,7 +4131,7 @@ protected ArrayType(void* native, bool skipVTables = false) public ArrayType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3927,7 +4140,7 @@ public ArrayType() public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -3993,14 +4206,25 @@ public long ElementSize public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(28)] internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(32)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4051,7 +4275,7 @@ internal static FunctionType __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4071,7 +4295,7 @@ protected FunctionType(void* native, bool skipVTables = false) public FunctionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4080,7 +4304,7 @@ public FunctionType() public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4100,7 +4324,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -4178,12 +4402,19 @@ public uint ParametersCount public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4227,7 +4458,7 @@ internal static PointerType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4247,7 +4478,7 @@ protected PointerType(void* native, bool skipVTables = false) public PointerType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4256,7 +4487,7 @@ public PointerType() public PointerType(global::CppSharp.Parser.AST.PointerType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4296,11 +4527,16 @@ public PointerType(global::CppSharp.Parser.AST.PointerType _0) public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4336,7 +4572,7 @@ internal static MemberPointerType __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4356,7 +4592,7 @@ protected MemberPointerType(void* native, bool skipVTables = false) public MemberPointerType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4365,7 +4601,7 @@ public MemberPointerType() public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4392,11 +4628,16 @@ public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4432,7 +4673,7 @@ internal static TypedefType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4452,7 +4693,7 @@ protected TypedefType(void* native, bool skipVTables = false) public TypedefType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4461,7 +4702,7 @@ public TypedefType() public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4487,12 +4728,19 @@ public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4528,7 +4776,7 @@ internal static AttributedType __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4548,7 +4796,7 @@ protected AttributedType(void* native, bool skipVTables = false) public AttributedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4557,7 +4805,7 @@ public AttributedType() public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4599,13 +4847,22 @@ public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + + [FieldOffset(40)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4641,7 +4898,7 @@ internal static DecayedType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4661,7 +4918,7 @@ protected DecayedType(void* native, bool skipVTables = false) public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4670,7 +4927,7 @@ public DecayedType() public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4727,12 +4984,19 @@ public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) public unsafe partial class TemplateArgument : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] internal __IntPtr declaration; + + [FieldOffset(32)] internal long integral; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4798,7 +5062,7 @@ internal static TemplateArgument __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -4819,7 +5083,7 @@ protected TemplateArgument(void* native, bool skipVTables = false) public TemplateArgument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4827,7 +5091,7 @@ public TemplateArgument() public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); @@ -4847,7 +5111,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -4909,13 +5173,22 @@ public long Integral public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(32)] internal __IntPtr _template; + + [FieldOffset(40)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4966,7 +5239,7 @@ internal static TemplateSpecializationType __CreateInstance(__Internal native, b private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4986,7 +5259,7 @@ protected TemplateSpecializationType(void* native, bool skipVTables = false) public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4995,7 +5268,7 @@ public TemplateSpecializationType() public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5015,7 +5288,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5080,12 +5353,19 @@ public uint ArgumentsCount public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(32)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5136,7 +5416,7 @@ internal static DependentTemplateSpecializationType __CreateInstance(__Internal private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5156,7 +5436,7 @@ protected DependentTemplateSpecializationType(void* native, bool skipVTables = f public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5165,7 +5445,7 @@ public DependentTemplateSpecializationType() public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5185,7 +5465,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5236,14 +5516,25 @@ public uint ArgumentsCount public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr parameter; + + [FieldOffset(16)] internal uint depth; + + [FieldOffset(20)] internal uint index; + + [FieldOffset(24)] internal byte isParameterPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5282,7 +5573,7 @@ internal static TemplateParameterType __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5302,7 +5593,7 @@ protected TemplateParameterType(void* native, bool skipVTables = false) public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5311,7 +5602,7 @@ public TemplateParameterType() public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5331,7 +5622,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5391,12 +5682,19 @@ public bool IsParameterPack public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + + [FieldOffset(24)] internal __IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5432,7 +5730,7 @@ internal static TemplateParameterSubstitutionType __CreateInstance(__Internal na private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5452,7 +5750,7 @@ protected TemplateParameterSubstitutionType(void* native, bool skipVTables = fal public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5461,7 +5759,7 @@ public TemplateParameterSubstitutionType() public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5502,12 +5800,19 @@ public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplatePar public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + + [FieldOffset(24)] internal __IntPtr _class; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5543,7 +5848,7 @@ internal static InjectedClassNameType __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5563,7 +5868,7 @@ protected InjectedClassNameType(void* native, bool skipVTables = false) public InjectedClassNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5572,7 +5877,7 @@ public InjectedClassNameType() public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5613,13 +5918,20 @@ public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _ public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C identifier; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Identifier; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -5629,6 +5941,12 @@ public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameType13getIdentifierEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetIdentifier(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameType13setIdentifierEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetIdentifier(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new DependentNameType __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -5657,7 +5975,7 @@ internal static DependentNameType __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5677,7 +5995,7 @@ protected DependentNameType(void* native, bool skipVTables = false) public DependentNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5686,7 +6004,7 @@ public DependentNameType() public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5706,7 +6024,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5729,23 +6047,26 @@ public string Identifier { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->identifier)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetIdentifier(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->identifier), value); + __Internal.SetIdentifier(__Instance, value); } } } public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5781,7 +6102,7 @@ internal static PackExpansionType __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5801,7 +6122,7 @@ protected PackExpansionType(void* native, bool skipVTables = false) public PackExpansionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5810,7 +6131,7 @@ public PackExpansionType() public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5822,12 +6143,19 @@ public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5863,7 +6191,7 @@ internal static UnaryTransformType __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5883,7 +6211,7 @@ protected UnaryTransformType(void* native, bool skipVTables = false) public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5892,7 +6220,7 @@ public UnaryTransformType() public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5934,11 +6262,16 @@ public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) public unsafe partial class UnresolvedUsingType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19UnresolvedUsingTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5974,7 +6307,7 @@ internal static UnresolvedUsingType __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5994,7 +6327,7 @@ protected UnresolvedUsingType(void* native, bool skipVTables = false) public UnresolvedUsingType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -6003,7 +6336,7 @@ public UnresolvedUsingType() public UnresolvedUsingType(global::CppSharp.Parser.AST.UnresolvedUsingType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6029,12 +6362,19 @@ public UnresolvedUsingType(global::CppSharp.Parser.AST.UnresolvedUsingType _0) public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; + + [FieldOffset(24)] internal uint numElements; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -6070,7 +6410,7 @@ internal static VectorType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -6090,7 +6430,7 @@ protected VectorType(void* native, bool skipVTables = false) public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VectorType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -6099,7 +6439,7 @@ public VectorType() public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VectorType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6139,11 +6479,16 @@ public uint NumElements public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -6179,7 +6524,7 @@ internal static BuiltinType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -6199,7 +6544,7 @@ protected BuiltinType(void* native, bool skipVTables = false) public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -6208,7 +6553,7 @@ public BuiltinType() public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6440,30 +6785,73 @@ public enum VTableComponentKind public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 200)] + [StructLayout(LayoutKind.Explicit, Size = 200)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -6493,6 +6881,24 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearRedeclarations(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration6getUSREv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetUSR(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration6setUSREPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetUSR(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetDebugText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetDebugText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetPreprocessedEntitiesCount(__IntPtr __instance); @@ -6544,7 +6950,7 @@ internal static Declaration __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -6565,7 +6971,7 @@ protected Declaration(void* native, bool skipVTables = false) public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Declaration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -6573,7 +6979,7 @@ public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Declaration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6598,7 +7004,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -6754,164 +7160,164 @@ public int LineNumberEnd } } - public string Name + public bool IsIncomplete { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isIncomplete != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + ((__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); } } - public string USR + public bool IsDependent { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->USR)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isDependent != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->USR), value); + ((__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } - public string DebugText + public bool IsImplicit { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->debugText)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isImplicit != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->debugText), value); + ((__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); } } - public bool IsIncomplete + public bool IsInvalid { get { - return ((__Internal*)__Instance)->isIncomplete != 0; + return ((__Internal*)__Instance)->isInvalid != 0; } set { - ((__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); } } - public bool IsDependent + public bool IsDeprecated { get { - return ((__Internal*)__Instance)->isDependent != 0; + return ((__Internal*)__Instance)->isDeprecated != 0; } set { - ((__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->isDeprecated = (byte) (value ? 1 : 0); } } - public bool IsImplicit + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { get { - return ((__Internal*)__Instance)->isImplicit != 0; + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->completeDeclaration, false); + return __result0; } set { - ((__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->completeDeclaration = value is null ? __IntPtr.Zero : value.__Instance; } } - public bool IsInvalid + public uint DefinitionOrder { get { - return ((__Internal*)__Instance)->isInvalid != 0; + return ((__Internal*)__Instance)->definitionOrder; } set { - ((__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->definitionOrder = value; } } - public bool IsDeprecated + public __IntPtr OriginalPtr { get { - return ((__Internal*)__Instance)->isDeprecated != 0; + return ((__Internal*)__Instance)->originalPtr; } set { - ((__Internal*)__Instance)->isDeprecated = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->originalPtr = (__IntPtr) value; } } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + public global::CppSharp.Parser.AST.RawComment Comment { get { - var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->completeDeclaration, false); + var __result0 = global::CppSharp.Parser.AST.RawComment.__GetOrCreateInstance(((__Internal*)__Instance)->comment, false); return __result0; } set { - ((__Internal*)__Instance)->completeDeclaration = value is null ? __IntPtr.Zero : value.__Instance; + ((__Internal*)__Instance)->comment = value is null ? __IntPtr.Zero : value.__Instance; } } - public uint DefinitionOrder + public string Name { get { - return ((__Internal*)__Instance)->definitionOrder; + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->definitionOrder = value; + __Internal.SetName(__Instance, value); } } - public __IntPtr OriginalPtr + public string USR { get { - return ((__Internal*)__Instance)->originalPtr; + var ___ret = __Internal.GetUSR(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->originalPtr = (__IntPtr) value; + __Internal.SetUSR(__Instance, value); } } - public global::CppSharp.Parser.AST.RawComment Comment + public string DebugText { get { - var __result0 = global::CppSharp.Parser.AST.RawComment.__GetOrCreateInstance(((__Internal*)__Instance)->comment, false); - return __result0; + var ___ret = __Internal.GetDebugText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->comment = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetDebugText(__Instance, value); } } @@ -6936,41 +7342,106 @@ public uint RedeclarationsCount public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 448)] + [StructLayout(LayoutKind.Explicit, Size = 448)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] internal byte isAnonymous; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -7117,7 +7588,7 @@ internal static DeclarationContext __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7137,7 +7608,7 @@ protected DeclarationContext(void* native, bool skipVTables = false) public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -7146,7 +7617,7 @@ public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7166,7 +7637,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7461,31 +7932,76 @@ public uint FriendsCount public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 216)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -7524,7 +8040,7 @@ internal static TypedefNameDecl __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7544,7 +8060,7 @@ protected TypedefNameDecl(void* native, bool skipVTables = false) public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -7553,7 +8069,7 @@ public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7573,7 +8089,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7600,31 +8116,76 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 216)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -7663,7 +8224,7 @@ internal static TypedefDecl __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7683,7 +8244,7 @@ protected TypedefDecl(void* native, bool skipVTables = false) public TypedefDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -7692,7 +8253,7 @@ public TypedefDecl() public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7712,39 +8273,86 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 224)] + [StructLayout(LayoutKind.Explicit, Size = 224)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(216)] internal __IntPtr describedAliasTemplate; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -7783,7 +8391,7 @@ internal static TypeAlias __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7803,7 +8411,7 @@ protected TypeAlias(void* native, bool skipVTables = false) public TypeAlias() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -7812,7 +8420,7 @@ public TypeAlias() public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7832,7 +8440,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7853,31 +8461,76 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 208)] + [StructLayout(LayoutKind.Explicit, Size = 208)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6FriendC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -7916,7 +8569,7 @@ internal static Friend __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7936,7 +8589,7 @@ protected Friend(void* native, bool skipVTables = false) public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Friend.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -7945,7 +8598,7 @@ public Friend() public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Friend.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7965,7 +8618,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7986,21 +8639,29 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class StatementObsolete : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_22StatementClassObsoleteEPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, __IntPtr decl); + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsoleteD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsolete9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsolete9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -8047,7 +8708,7 @@ internal static StatementObsolete __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.StatementObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8066,22 +8727,9 @@ protected StatementObsolete(void* native, bool skipVTables = false) __Instance = new __IntPtr(native); } - public StatementObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, Class, __arg2); - __basicString0.Dispose(); - } - public StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8106,7 +8754,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8141,28 +8789,30 @@ public string String { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->@string)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->@string), value); + __Internal.SetString(__Instance, value); } } } public unsafe partial class ExpressionObsolete : global::CppSharp.Parser.AST.StatementObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEENS1_22StatementClassObsoleteEPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, __IntPtr decl); + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); @@ -8197,7 +8847,7 @@ internal static ExpressionObsolete __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ExpressionObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8214,24 +8864,10 @@ protected ExpressionObsolete(void* native, bool skipVTables = false) { } - public ExpressionObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, Class, __arg2); - __basicString0.Dispose(); - } - public ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8251,31 +8887,45 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class BinaryOperatorObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(40)] internal __IntPtr LHS; + + [FieldOffset(48)] internal __IntPtr RHS; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C opcodeStr; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_18ExpressionObsoleteESD_SB_", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, __IntPtr lhs, __IntPtr rhs, __IntPtr opcodeStr); + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C OpcodeStr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsolete12getOpcodeStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetOpcodeStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsolete12setOpcodeStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetOpcodeStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new BinaryOperatorObsolete __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -8304,7 +8954,7 @@ internal static BinaryOperatorObsolete __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8321,29 +8971,10 @@ protected BinaryOperatorObsolete(void* native, bool skipVTables = false) { } - public BinaryOperatorObsolete(string str, global::CppSharp.Parser.AST.ExpressionObsolete lhs, global::CppSharp.Parser.AST.ExpressionObsolete rhs, string opcodeStr) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = lhs is null ? __IntPtr.Zero : lhs.__Instance; - var __arg2 = rhs is null ? __IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor(__Instance, __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(); - __basicString3.Dispose(); - } - public BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8363,7 +8994,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8399,29 +9030,33 @@ public string OpcodeStr { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->opcodeStr)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetOpcodeStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->opcodeStr), value); + __Internal.SetOpcodeStr(__Instance, value); } } } public unsafe partial class CallExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ Arguments; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, __IntPtr decl); + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); @@ -8468,7 +9103,7 @@ internal static CallExprObsolete __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CallExprObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8485,24 +9120,10 @@ protected CallExprObsolete(void* native, bool skipVTables = false) { } - public CallExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, __arg1); - __basicString0.Dispose(); - } - public CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8522,7 +9143,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8559,16 +9180,20 @@ public uint ArgumentsCount public unsafe partial class CXXConstructExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ Arguments; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, __IntPtr decl); + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(40)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); @@ -8615,7 +9240,7 @@ internal static CXXConstructExprObsolete __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8632,24 +9257,10 @@ protected CXXConstructExprObsolete(void* native, bool skipVTables = false) { } - public CXXConstructExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, __arg1); - __basicString0.Dispose(); - } - public CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8669,7 +9280,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8706,36 +9317,91 @@ public uint ArgumentsCount public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(216)] internal byte isIndirect; + + [FieldOffset(217)] internal byte hasDefaultValue; + + [FieldOffset(220)] internal uint index; + + [FieldOffset(224)] internal __IntPtr defaultArgument; + + [FieldOffset(232)] internal __IntPtr defaultValue; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -8774,7 +9440,7 @@ internal static Parameter __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8794,7 +9460,7 @@ protected Parameter(void* native, bool skipVTables = false) public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Parameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -8803,7 +9469,7 @@ public Parameter() public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Parameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8823,7 +9489,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8912,61 +9578,166 @@ public uint Index public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 624)] + [StructLayout(LayoutKind.Explicit, Size = 624)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] internal byte isAnonymous; + + [FieldOffset(448)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(464)] internal byte isReturnIndirect; + + [FieldOffset(465)] internal byte hasThisReturn; + + [FieldOffset(466)] internal byte isConstExpr; + + [FieldOffset(467)] internal byte isVariadic; + + [FieldOffset(468)] internal byte isInline; + + [FieldOffset(469)] internal byte isPure; + + [FieldOffset(470)] internal byte isDeleted; + + [FieldOffset(471)] internal byte isDefaulted; + + [FieldOffset(472)] internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(476)] internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; + + [FieldOffset(480)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(504)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Signature; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Body; + + [FieldOffset(552)] internal __IntPtr bodyStmt; + + [FieldOffset(560)] internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(568)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(592)] internal __IntPtr specializationInfo; + + [FieldOffset(600)] internal __IntPtr instantiatedFrom; + + [FieldOffset(608)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8FunctionC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -8987,6 +9758,24 @@ public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationCo [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function15clearParametersEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearParameters(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function10getMangledEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMangled(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMangled(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function12getSignatureEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetSignature(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetSignature(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function7getBodyEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBody(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBody(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetParametersCount(__IntPtr __instance); } @@ -9017,7 +9806,7 @@ internal static Function __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9037,7 +9826,7 @@ protected Function(void* native, bool skipVTables = false) public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Function.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9046,7 +9835,7 @@ public Function() public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Function.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -9066,7 +9855,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -9236,17 +10025,87 @@ public bool IsDefaulted } } + public global::CppSharp.Parser.AST.Stmt BodyStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->bodyStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->bodyStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + return ((__Internal*)__Instance)->callingConvention; + } + + set + { + ((__Internal*)__Instance)->callingConvention = value; + } + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + var __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__GetOrCreateInstance(((__Internal*)__Instance)->specializationInfo, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->specializationInfo = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(((__Internal*)__Instance)->instantiatedFrom, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->instantiatedFrom = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + public string Mangled { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->mangled)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetMangled(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->mangled), value); + __Internal.SetMangled(__Instance, value); } } @@ -9254,13 +10113,13 @@ public string Signature { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->signature)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetSignature(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->signature), value); + __Internal.SetSignature(__Instance, value); } } @@ -9268,83 +10127,13 @@ public string Body { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->body)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetBody(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->body), value); - } - } - - public global::CppSharp.Parser.AST.Stmt BodyStmt - { - get - { - var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->bodyStmt, false); - return __result0; - } - - set - { - ((__Internal*)__Instance)->bodyStmt = value is null ? __IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.CallingConvention CallingConvention - { - get - { - return ((__Internal*)__Instance)->callingConvention; - } - - set - { - ((__Internal*)__Instance)->callingConvention = value; - } - } - - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo - { - get - { - var __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__GetOrCreateInstance(((__Internal*)__Instance)->specializationInfo, false); - return __result0; - } - - set - { - ((__Internal*)__Instance)->specializationInfo = value is null ? __IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Function InstantiatedFrom - { - get - { - var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(((__Internal*)__Instance)->instantiatedFrom, false); - return __result0; - } - - set - { - ((__Internal*)__Instance)->instantiatedFrom = value is null ? __IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); - } - - set - { - if (ReferenceEquals(value, null)) - throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); - ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + __Internal.SetBody(__Instance, value); } } @@ -9360,73 +10149,202 @@ public uint ParametersCount public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 688)] + [StructLayout(LayoutKind.Explicit, Size = 688)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] internal byte isAnonymous; + + [FieldOffset(448)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(464)] internal byte isReturnIndirect; + + [FieldOffset(465)] internal byte hasThisReturn; + + [FieldOffset(466)] internal byte isConstExpr; + + [FieldOffset(467)] internal byte isVariadic; + + [FieldOffset(468)] internal byte isInline; + + [FieldOffset(469)] internal byte isPure; + + [FieldOffset(470)] internal byte isDeleted; + + [FieldOffset(471)] internal byte isDefaulted; + + [FieldOffset(472)] internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(476)] internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C signature; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C body; + + [FieldOffset(480)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(504)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Signature; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Body; + + [FieldOffset(552)] internal __IntPtr bodyStmt; + + [FieldOffset(560)] internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(568)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(592)] internal __IntPtr specializationInfo; + + [FieldOffset(600)] internal __IntPtr instantiatedFrom; + + [FieldOffset(608)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(624)] internal byte isVirtual; + + [FieldOffset(625)] internal byte isStatic; + + [FieldOffset(626)] internal byte isConst; + + [FieldOffset(627)] internal byte isExplicit; + + [FieldOffset(628)] internal byte isVolatile; + + [FieldOffset(632)] internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + + [FieldOffset(636)] internal byte isDefaultConstructor; + + [FieldOffset(637)] internal byte isCopyConstructor; + + [FieldOffset(638)] internal byte isMoveConstructor; + + [FieldOffset(640)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(656)] internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(664)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ OverriddenMethods; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6MethodC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -9477,7 +10395,7 @@ internal static Method __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9497,7 +10415,7 @@ protected Method(void* native, bool skipVTables = false) public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Method.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9506,7 +10424,7 @@ public Method() public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Method.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -9526,7 +10444,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -9708,45 +10626,118 @@ public uint OverriddenMethodsCount public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 488)] + [StructLayout(LayoutKind.Explicit, Size = 488)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] internal byte isAnonymous; + + [FieldOffset(444)] internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(448)] internal __IntPtr type; + + [FieldOffset(456)] internal __IntPtr builtinType; + + [FieldOffset(464)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S0_ Items; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11EnumerationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -9767,9 +10758,6 @@ public unsafe partial class Enumeration : global::CppSharp.Parser.AST.Declaratio [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearItems(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindItemByName(__IntPtr __instance, __IntPtr Name); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetItemsCount(__IntPtr __instance); } @@ -9784,32 +10772,79 @@ public enum EnumModifiers public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; + + [FieldOffset(200)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Expression; + + [FieldOffset(224)] internal ulong value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -9820,6 +10855,12 @@ public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDis [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetExpression(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetExpression(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new Item __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -9848,7 +10889,7 @@ internal static Item __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9868,7 +10909,7 @@ protected Item(void* native, bool skipVTables = false) public Item() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9877,7 +10918,7 @@ public Item() public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -9897,34 +10938,34 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string Expression + public ulong Value { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->expression)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->value; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->expression), value); + ((__Internal*)__Instance)->value = value; } } - public ulong Value + public string Expression { get { - return ((__Internal*)__Instance)->value; + var ___ret = __Internal.GetExpression(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->value = value; + __Internal.SetExpression(__Instance, value); } } } @@ -9955,7 +10996,7 @@ internal static Enumeration __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9975,7 +11016,7 @@ protected Enumeration(void* native, bool skipVTables = false) public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9984,7 +11025,7 @@ public Enumeration() public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10004,7 +11045,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10029,17 +11070,6 @@ public void ClearItems() __Internal.ClearItems(__Instance); } - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindItemByName(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__GetOrCreateInstance(___ret, false); - return __result0; - } - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get @@ -10093,34 +11123,85 @@ public uint ItemsCount public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal byte isConstExpr; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(208)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(232)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(248)] internal __IntPtr initializer; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8VariableC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10131,6 +11212,12 @@ public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8VariableD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Variable10getMangledEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMangled(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMangled(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new Variable __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -10159,7 +11246,7 @@ internal static Variable __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10179,7 +11266,7 @@ protected Variable(void* native, bool skipVTables = false) public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Variable.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10188,7 +11275,7 @@ public Variable() public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Variable.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10208,7 +11295,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10225,58 +11312,65 @@ public bool IsConstExpr } } - public string Mangled + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->mangled)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->mangled), value); + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.ExpressionObsolete Initializer { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(((__Internal*)__Instance)->initializer, false); + return __result0; } set { - if (ReferenceEquals(value, null)) - throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); - ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((__Internal*)__Instance)->initializer = value is null ? __IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ExpressionObsolete Initializer + public string Mangled { get { - var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(((__Internal*)__Instance)->initializer, false); - return __result0; + var ___ret = __Internal.GetMangled(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->initializer = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetMangled(__Instance, value); } } } public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(4)] internal byte isVirtual; + + [FieldOffset(8)] internal __IntPtr type; + + [FieldOffset(16)] internal int offset; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10330,7 +11424,7 @@ internal static BaseClassSpecifier __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -10351,7 +11445,7 @@ protected BaseClassSpecifier(void* native, bool skipVTables = false) public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10359,7 +11453,7 @@ public BaseClassSpecifier() public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); @@ -10379,7 +11473,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10439,34 +11533,85 @@ public int Offset public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(216)] internal __IntPtr _class; + + [FieldOffset(224)] internal byte isBitField; + + [FieldOffset(228)] internal uint bitWidth; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5FieldC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10505,7 +11650,7 @@ internal static Field __CreateInstance(__Internal native, bool skipVTables = fal private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10525,7 +11670,7 @@ protected Field(void* native, bool skipVTables = false) public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Field.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10534,7 +11679,7 @@ public Field() public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Field.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10554,7 +11699,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10616,30 +11761,73 @@ public uint BitWidth public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 200)] + [StructLayout(LayoutKind.Explicit, Size = 200)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10678,7 +11866,7 @@ internal static AccessSpecifierDecl __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10698,7 +11886,7 @@ protected AccessSpecifierDecl(void* native, bool skipVTables = false) public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10707,7 +11895,7 @@ public AccessSpecifierDecl() public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10727,18 +11915,23 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class VTableComponent : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.VTableComponentKind kind; + + [FieldOffset(4)] internal uint offset; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10792,7 +11985,7 @@ internal static VTableComponent __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -10813,7 +12006,7 @@ protected VTableComponent(void* native, bool skipVTables = false) public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10821,7 +12014,7 @@ public VTableComponent() public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); @@ -10841,7 +12034,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10888,9 +12081,10 @@ public uint Offset public unsafe partial class VTableLayout : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S0_ Components; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10959,7 +12153,7 @@ internal static VTableLayout __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10980,7 +12174,7 @@ protected VTableLayout(void* native, bool skipVTables = false) public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10988,7 +12182,7 @@ public VTableLayout() public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -11013,7 +12207,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11048,12 +12242,19 @@ public uint ComponentsCount public unsafe partial class VFTableInfo : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public partial struct __Internal { + [FieldOffset(0)] internal ulong VBTableIndex; + + [FieldOffset(8)] internal uint VFPtrOffset; + + [FieldOffset(12)] internal uint VFPtrFullOffset; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11110,7 +12311,7 @@ internal static VFTableInfo __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11131,7 +12332,7 @@ protected VFTableInfo(void* native, bool skipVTables = false) public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11139,7 +12340,7 @@ public VFTableInfo() public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -11164,7 +12365,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11225,12 +12426,19 @@ public uint VFPtrFullOffset public unsafe partial class LayoutField : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public partial struct __Internal { + [FieldOffset(0)] internal uint offset; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(32)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(48)] internal __IntPtr fieldPtr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11241,6 +12449,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutField7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutField7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -11287,7 +12501,7 @@ internal static LayoutField __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11308,7 +12522,7 @@ protected LayoutField(void* native, bool skipVTables = false) public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11316,7 +12530,7 @@ public LayoutField() public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(other, null)) @@ -11341,7 +12555,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11358,55 +12572,58 @@ public uint Offset } } - public string Name + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public __IntPtr FieldPtr { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + return ((__Internal*)__Instance)->fieldPtr; } set { - if (ReferenceEquals(value, null)) - throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); - ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((__Internal*)__Instance)->fieldPtr = (__IntPtr) value; } } - public __IntPtr FieldPtr + public string Name { get { - return ((__Internal*)__Instance)->fieldPtr; + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->fieldPtr = (__IntPtr) value; + __Internal.SetName(__Instance, value); } } } public unsafe partial class LayoutBase : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { + [FieldOffset(0)] internal uint offset; + + [FieldOffset(8)] internal __IntPtr _class; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11463,7 +12680,7 @@ internal static LayoutBase __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11484,7 +12701,7 @@ protected LayoutBase(void* native, bool skipVTables = false) public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11492,7 +12709,7 @@ public LayoutBase() public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(other, null)) @@ -11517,7 +12734,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11551,19 +12768,40 @@ public uint Offset public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CppAbi ABI; + + [FieldOffset(4)] internal global::CppSharp.Parser.AST.RecordArgABI argABI; + + [FieldOffset(8)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S0_ VFTables; + + [FieldOffset(32)] internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + + [FieldOffset(56)] internal byte hasOwnVFPtr; + + [FieldOffset(64)] internal long VBPtrOffset; + + [FieldOffset(72)] internal int alignment; + + [FieldOffset(76)] internal int size; + + [FieldOffset(80)] internal int dataSize; + + [FieldOffset(88)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(112)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S0_ Bases; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11656,7 +12894,7 @@ internal static ClassLayout __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11677,7 +12915,7 @@ protected ClassLayout(void* native, bool skipVTables = false) public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11685,7 +12923,7 @@ public ClassLayout() public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -11710,7 +12948,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11916,57 +13154,154 @@ public uint BasesCount public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 568)] + [StructLayout(LayoutKind.Explicit, Size = 568)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] internal byte isAnonymous; + + [FieldOffset(448)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + + [FieldOffset(472)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(496)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + + [FieldOffset(520)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + + [FieldOffset(544)] internal byte isPOD; + + [FieldOffset(545)] internal byte isAbstract; + + [FieldOffset(546)] internal byte isUnion; + + [FieldOffset(547)] internal byte isDynamic; + + [FieldOffset(548)] internal byte isPolymorphic; + + [FieldOffset(549)] internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(550)] internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(551)] internal byte hasNonTrivialDestructor; + + [FieldOffset(552)] internal byte isExternCContext; + + [FieldOffset(553)] internal byte isInjected; + + [FieldOffset(556)] internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(560)] internal __IntPtr layout; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5ClassC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -12053,7 +13388,7 @@ internal static Class __CreateInstance(__Internal native, bool skipVTables = fal private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12073,7 +13408,7 @@ protected Class(void* native, bool skipVTables = false) public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Class.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12082,7 +13417,7 @@ public Class() public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Class.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12102,7 +13437,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -12386,32 +13721,79 @@ public uint SpecifiersCount public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal __IntPtr TemplatedDecl; + + [FieldOffset(208)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -12465,7 +13847,7 @@ internal static Template __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12485,7 +13867,7 @@ protected Template(void* native, bool skipVTables = false) public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -12494,7 +13876,7 @@ public Template(global::CppSharp.Parser.AST.DeclarationKind kind) public Template() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12503,7 +13885,7 @@ public Template() public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12523,7 +13905,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -12579,32 +13961,79 @@ public uint ParametersCount public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal __IntPtr TemplatedDecl; + + [FieldOffset(208)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -12643,7 +14072,7 @@ internal static TypeAliasTemplate __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12663,7 +14092,7 @@ protected TypeAliasTemplate(void* native, bool skipVTables = false) public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12672,7 +14101,7 @@ public TypeAliasTemplate() public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12692,40 +14121,89 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 216)] + [StructLayout(LayoutKind.Explicit, Size = 216)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal uint depth; + + [FieldOffset(204)] internal uint index; + + [FieldOffset(208)] internal byte isParameterPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -12764,7 +14242,7 @@ internal static TemplateParameter __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12784,7 +14262,7 @@ protected TemplateParameter(void* native, bool skipVTables = false) public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -12793,7 +14271,7 @@ public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12813,7 +14291,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -12864,35 +14342,88 @@ public bool IsParameterPack public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal __IntPtr TemplatedDecl; + + [FieldOffset(208)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] internal byte isParameterPack; + + [FieldOffset(233)] internal byte isPackExpansion; + + [FieldOffset(234)] internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -12931,7 +14462,7 @@ internal static TemplateTemplateParameter __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12951,7 +14482,7 @@ protected TemplateTemplateParameter(void* native, bool skipVTables = false) public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12960,7 +14491,7 @@ public TemplateTemplateParameter() public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12980,7 +14511,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13026,34 +14557,85 @@ public bool IsExpandedParameterPack public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal uint depth; + + [FieldOffset(204)] internal uint index; + + [FieldOffset(208)] internal byte isParameterPack; + + [FieldOffset(216)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13092,7 +14674,7 @@ internal static TypeTemplateParameter __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13112,7 +14694,7 @@ protected TypeTemplateParameter(void* native, bool skipVTables = false) public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13121,7 +14703,7 @@ public TypeTemplateParameter() public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13141,7 +14723,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13163,39 +14745,100 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal uint depth; + + [FieldOffset(204)] internal uint index; + + [FieldOffset(208)] internal byte isParameterPack; + + [FieldOffset(216)] internal __IntPtr defaultArgument; + + [FieldOffset(224)] internal __IntPtr defaultArgumentNew; + + [FieldOffset(232)] internal uint position; + + [FieldOffset(236)] internal byte isPackExpansion; + + [FieldOffset(237)] internal byte isExpandedParameterPack; + + [FieldOffset(240)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13234,7 +14877,7 @@ internal static NonTypeTemplateParameter __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13254,7 +14897,7 @@ protected NonTypeTemplateParameter(void* native, bool skipVTables = false) public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13263,7 +14906,7 @@ public NonTypeTemplateParameter() public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13283,7 +14926,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13372,33 +15015,82 @@ public bool IsExpandedParameterPack public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal __IntPtr TemplatedDecl; + + [FieldOffset(208)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13419,12 +15111,6 @@ public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearSpecializations(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindSpecialization(__IntPtr __instance, __IntPtr usr); - - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindPartialSpecialization(__IntPtr __instance, __IntPtr usr); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSpecializationsCount(__IntPtr __instance); } @@ -13455,7 +15141,7 @@ internal static ClassTemplate __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13475,7 +15161,7 @@ protected ClassTemplate(void* native, bool skipVTables = false) public ClassTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13484,7 +15170,7 @@ public ClassTemplate() public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13504,7 +15190,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13529,28 +15215,6 @@ public void ClearSpecializations() __Internal.ClearSpecializations(__Instance); } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - - public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindPartialSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - public uint SpecializationsCount { get @@ -13563,60 +15227,163 @@ public uint SpecializationsCount public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 608)] + [StructLayout(LayoutKind.Explicit, Size = 608)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] internal byte isAnonymous; + + [FieldOffset(448)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + + [FieldOffset(472)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(496)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + + [FieldOffset(520)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + + [FieldOffset(544)] internal byte isPOD; + + [FieldOffset(545)] internal byte isAbstract; + + [FieldOffset(546)] internal byte isUnion; + + [FieldOffset(547)] internal byte isDynamic; + + [FieldOffset(548)] internal byte isPolymorphic; + + [FieldOffset(549)] internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(550)] internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(551)] internal byte hasNonTrivialDestructor; + + [FieldOffset(552)] internal byte isExternCContext; + + [FieldOffset(553)] internal byte isInjected; + + [FieldOffset(556)] internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(560)] internal __IntPtr layout; + + [FieldOffset(568)] internal __IntPtr templatedDecl; + + [FieldOffset(576)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(600)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13667,7 +15434,7 @@ internal static ClassTemplateSpecialization __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13687,7 +15454,7 @@ protected ClassTemplateSpecialization(void* native, bool skipVTables = false) public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13696,7 +15463,7 @@ public ClassTemplateSpecialization() public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13716,7 +15483,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13779,61 +15546,166 @@ public uint ArgumentsCount public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 632)] + [StructLayout(LayoutKind.Explicit, Size = 632)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] internal byte isAnonymous; + + [FieldOffset(448)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ Bases; + + [FieldOffset(472)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ Fields; + + [FieldOffset(496)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ Methods; + + [FieldOffset(520)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ Specifiers; + + [FieldOffset(544)] internal byte isPOD; + + [FieldOffset(545)] internal byte isAbstract; + + [FieldOffset(546)] internal byte isUnion; + + [FieldOffset(547)] internal byte isDynamic; + + [FieldOffset(548)] internal byte isPolymorphic; + + [FieldOffset(549)] internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(550)] internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(551)] internal byte hasNonTrivialDestructor; + + [FieldOffset(552)] internal byte isExternCContext; + + [FieldOffset(553)] internal byte isInjected; + + [FieldOffset(556)] internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(560)] internal __IntPtr layout; + + [FieldOffset(568)] internal __IntPtr templatedDecl; + + [FieldOffset(576)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(600)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + + [FieldOffset(608)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13884,7 +15756,7 @@ internal static ClassTemplatePartialSpecialization __CreateInstance(__Internal n private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13904,7 +15776,7 @@ protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = fa public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13913,7 +15785,7 @@ public ClassTemplatePartialSpecialization() public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13933,7 +15805,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13970,33 +15842,82 @@ public uint ParametersCount public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal __IntPtr TemplatedDecl; + + [FieldOffset(208)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14017,9 +15938,6 @@ public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Templ [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearSpecializations(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindSpecialization(__IntPtr __instance, __IntPtr usr); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSpecializationsCount(__IntPtr __instance); } @@ -14050,7 +15968,7 @@ internal static FunctionTemplate __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14070,7 +15988,7 @@ protected FunctionTemplate(void* native, bool skipVTables = false) public FunctionTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14079,7 +15997,7 @@ public FunctionTemplate() public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14099,7 +16017,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14124,17 +16042,6 @@ public void ClearSpecializations() __Internal.ClearSpecializations(__Instance); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - public uint SpecializationsCount { get @@ -14147,12 +16054,19 @@ public uint SpecializationsCount public unsafe partial class FunctionTemplateSpecialization : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public partial struct __Internal { + [FieldOffset(0)] internal __IntPtr _template; + + [FieldOffset(8)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(32)] internal __IntPtr specializedFunction; + + [FieldOffset(40)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14221,7 +16135,7 @@ internal static FunctionTemplateSpecialization __CreateInstance(__Internal nativ private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14242,7 +16156,7 @@ protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14250,7 +16164,7 @@ public FunctionTemplateSpecialization() public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14275,7 +16189,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14352,33 +16266,82 @@ public uint ArgumentsCount public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal __IntPtr TemplatedDecl; + + [FieldOffset(208)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Parameters; + + [FieldOffset(232)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S0_ Specializations; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14399,12 +16362,6 @@ public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearSpecializations(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindSpecialization(__IntPtr __instance, __IntPtr usr); - - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindPartialSpecialization(__IntPtr __instance, __IntPtr usr); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSpecializationsCount(__IntPtr __instance); } @@ -14435,7 +16392,7 @@ internal static VarTemplate __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14455,7 +16412,7 @@ protected VarTemplate(void* native, bool skipVTables = false) public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14464,7 +16421,7 @@ public VarTemplate() public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14484,7 +16441,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14509,28 +16466,6 @@ public void ClearSpecializations() __Internal.ClearSpecializations(__Instance); } - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindPartialSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - public uint SpecializationsCount { get @@ -14543,37 +16478,94 @@ public uint SpecializationsCount public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 296)] + [StructLayout(LayoutKind.Explicit, Size = 296)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal byte isConstExpr; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(208)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(232)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(248)] internal __IntPtr initializer; + + [FieldOffset(256)] internal __IntPtr templatedDecl; + + [FieldOffset(264)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(288)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14624,7 +16616,7 @@ internal static VarTemplateSpecialization __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14644,7 +16636,7 @@ protected VarTemplateSpecialization(void* native, bool skipVTables = false) public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14653,7 +16645,7 @@ public VarTemplateSpecialization() public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14673,7 +16665,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14736,37 +16728,94 @@ public uint ArgumentsCount public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 296)] + [StructLayout(LayoutKind.Explicit, Size = 296)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal byte isConstExpr; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C mangled; + + [FieldOffset(208)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Mangled; + + [FieldOffset(232)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(248)] internal __IntPtr initializer; + + [FieldOffset(256)] internal __IntPtr templatedDecl; + + [FieldOffset(264)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(288)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14805,7 +16854,7 @@ internal static VarTemplatePartialSpecialization __CreateInstance(__Internal nat private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14825,7 +16874,7 @@ protected VarTemplatePartialSpecialization(void* native, bool skipVTables = fals public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14834,7 +16883,168 @@ public VarTemplatePartialSpecialization() public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + if (ReferenceEquals(_0, null)) + throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); + var __arg0 = _0.__Instance; + __Internal.cctor(__Instance, __arg0); + } + + partial void DisposePartial(bool disposing); + + internal protected override void Dispose(bool disposing, bool callNativeDtor) + { + if (__Instance == IntPtr.Zero) + return; + NativeToManagedMap.TryRemove(__Instance, out _); + DisposePartial(disposing); + if (callNativeDtor) + __Internal.dtor(__Instance); + if (__ownsNativeInstance) + __NativeMemory.AlignedFree((void*)__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class UnresolvedUsingTypename : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Explicit, Size = 200)] + public new partial struct __Internal + { + [FieldOffset(0)] + internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] + internal int alignAs; + + [FieldOffset(8)] + internal int maxFieldAlignment; + + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] + internal __IntPtr _namespace; + + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] + internal int lineNumberStart; + + [FieldOffset(32)] + internal int lineNumberEnd; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] + internal byte isIncomplete; + + [FieldOffset(113)] + internal byte isDependent; + + [FieldOffset(114)] + internal byte isImplicit; + + [FieldOffset(115)] + internal byte isInvalid; + + [FieldOffset(116)] + internal byte isDeprecated; + + [FieldOffset(120)] + internal __IntPtr completeDeclaration; + + [FieldOffset(128)] + internal uint definitionOrder; + + [FieldOffset(136)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] + internal __IntPtr originalPtr; + + [FieldOffset(192)] + internal __IntPtr comment; + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameC2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ctor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void cctor(__IntPtr __instance, __IntPtr _0); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameD2Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void dtor(__IntPtr __instance); + } + + internal static new UnresolvedUsingTypename __CreateInstance(__IntPtr native, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + return new UnresolvedUsingTypename(native.ToPointer(), skipVTables); + } + + internal static new UnresolvedUsingTypename __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + { + if (native == __IntPtr.Zero) + return null; + if (__TryGetNativeToManagedMapping(native, out var managed)) + return (UnresolvedUsingTypename)managed; + var result = __CreateInstance(native, skipVTables); + if (saveInstance) + __RecordNativeToManagedMapping(native, result); + return result; + } + + internal static UnresolvedUsingTypename __CreateInstance(__Internal native, bool skipVTables = false) + { + return new UnresolvedUsingTypename(native, skipVTables); + } + + private static void* __CopyValue(__Internal native) + { + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); + global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal.cctor(ret, new __IntPtr(&native)); + return ret.ToPointer(); + } + + private UnresolvedUsingTypename(__Internal native, bool skipVTables = false) + : this(__CopyValue(native), skipVTables) + { + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + protected UnresolvedUsingTypename(void* native, bool skipVTables = false) + : base((void*) native) + { + } + + public UnresolvedUsingTypename() + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnresolvedUsingTypename(global::CppSharp.Parser.AST.UnresolvedUsingTypename _0) + : this((void*) null) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14854,167 +17064,116 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } - public unsafe partial class UnresolvedUsingTypename : global::CppSharp.Parser.AST.Declaration, IDisposable + public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 200)] + [StructLayout(LayoutKind.Explicit, Size = 448)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; - internal int alignAs; - internal int maxFieldAlignment; - internal global::CppSharp.Parser.AST.AccessSpecifier access; - internal __IntPtr _namespace; - internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal int lineNumberStart; - internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; - internal byte isIncomplete; - internal byte isDependent; - internal byte isImplicit; - internal byte isInvalid; - internal byte isDeprecated; - internal __IntPtr completeDeclaration; - internal uint definitionOrder; - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; - internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; - internal __IntPtr originalPtr; - internal __IntPtr comment; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameC2Ev", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance); - - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void cctor(__IntPtr __instance, __IntPtr _0); - - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameD2Ev", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void dtor(__IntPtr __instance); - } - - internal static new UnresolvedUsingTypename __CreateInstance(__IntPtr native, bool skipVTables = false) - { - if (native == __IntPtr.Zero) - return null; - return new UnresolvedUsingTypename(native.ToPointer(), skipVTables); - } + [FieldOffset(4)] + internal int alignAs; - internal static new UnresolvedUsingTypename __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) - { - if (native == __IntPtr.Zero) - return null; - if (__TryGetNativeToManagedMapping(native, out var managed)) - return (UnresolvedUsingTypename)managed; - var result = __CreateInstance(native, skipVTables); - if (saveInstance) - __RecordNativeToManagedMapping(native, result); - return result; - } + [FieldOffset(8)] + internal int maxFieldAlignment; - internal static UnresolvedUsingTypename __CreateInstance(__Internal native, bool skipVTables = false) - { - return new UnresolvedUsingTypename(native, skipVTables); - } + [FieldOffset(12)] + internal global::CppSharp.Parser.AST.AccessSpecifier access; - private static void* __CopyValue(__Internal native) - { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); - global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal.cctor(ret, new __IntPtr(&native)); - return ret.ToPointer(); - } + [FieldOffset(16)] + internal __IntPtr _namespace; - private UnresolvedUsingTypename(__Internal native, bool skipVTables = false) - : this(__CopyValue(native), skipVTables) - { - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - } + [FieldOffset(24)] + internal global::CppSharp.Parser.SourceLocation.__Internal location; - protected UnresolvedUsingTypename(void* native, bool skipVTables = false) - : base((void*) native) - { - } + [FieldOffset(28)] + internal int lineNumberStart; - public UnresolvedUsingTypename() - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - __Internal.ctor(__Instance); - } + [FieldOffset(32)] + internal int lineNumberEnd; - public UnresolvedUsingTypename(global::CppSharp.Parser.AST.UnresolvedUsingTypename _0) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - if (ReferenceEquals(_0, null)) - throw new global::System.ArgumentNullException("_0", "Cannot be null because it is a C++ reference (&)."); - var __arg0 = _0.__Instance; - __Internal.cctor(__Instance, __arg0); - } + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; - partial void DisposePartial(bool disposing); + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal protected override void Dispose(bool disposing, bool callNativeDtor) - { - if (__Instance == IntPtr.Zero) - return; - NativeToManagedMap.TryRemove(__Instance, out _); - DisposePartial(disposing); - if (callNativeDtor) - __Internal.dtor(__Instance); - if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); - __Instance = IntPtr.Zero; - } - } + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; - public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable - { - [StructLayout(LayoutKind.Sequential, Size = 448)] - public new partial struct __Internal - { - internal global::CppSharp.Parser.AST.DeclarationKind kind; - internal int alignAs; - internal int maxFieldAlignment; - internal global::CppSharp.Parser.AST.AccessSpecifier access; - internal __IntPtr _namespace; - internal global::CppSharp.Parser.SourceLocation.__Internal location; - internal int lineNumberStart; - internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] internal byte isAnonymous; + + [FieldOffset(441)] internal byte isInline; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9NamespaceC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15053,7 +17212,7 @@ internal static Namespace __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15073,7 +17232,7 @@ protected Namespace(void* native, bool skipVTables = false) public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Namespace.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15082,7 +17241,7 @@ public Namespace() public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Namespace.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15102,7 +17261,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -15122,11 +17281,16 @@ public bool IsInline public unsafe partial class PreprocessedEntity : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] internal __IntPtr originalPtr; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15180,7 +17344,7 @@ internal static PreprocessedEntity __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -15201,7 +17365,7 @@ protected PreprocessedEntity(void* native, bool skipVTables = false) public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15209,7 +17373,7 @@ public PreprocessedEntity() public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); @@ -15229,7 +17393,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -15275,15 +17439,28 @@ public __IntPtr OriginalPtr public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] internal __IntPtr originalPtr; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.DeclarationKind kind; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C expression; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Expression; + + [FieldOffset(72)] internal int lineNumberStart; + + [FieldOffset(76)] internal int lineNumberEnd; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15294,6 +17471,18 @@ public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.Prepro [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition13getExpressionEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetExpression(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition13setExpressionEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetExpression(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new MacroDefinition __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -15322,7 +17511,7 @@ internal static MacroDefinition __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15342,7 +17531,7 @@ protected MacroDefinition(void* native, bool skipVTables = false) public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15351,7 +17540,7 @@ public MacroDefinition() public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15371,75 +17560,86 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string Name + public int LineNumberStart { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->lineNumberStart; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + ((__Internal*)__Instance)->lineNumberStart = value; } } - public string Expression + public int LineNumberEnd { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->expression)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->lineNumberEnd; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->expression), value); + ((__Internal*)__Instance)->lineNumberEnd = value; } } - public int LineNumberStart + public string Name { get { - return ((__Internal*)__Instance)->lineNumberStart; + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->lineNumberStart = value; + __Internal.SetName(__Instance, value); } } - public int LineNumberEnd + public string Expression { get { - return ((__Internal*)__Instance)->lineNumberEnd; + var ___ret = __Internal.GetExpression(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->lineNumberEnd = value; + __Internal.SetExpression(__Instance, value); } } } public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] internal __IntPtr originalPtr; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.DeclarationKind kind; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C text; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Text; + + [FieldOffset(72)] internal __IntPtr definition; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15450,6 +17650,18 @@ public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.Preproc [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new MacroExpansion __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -15478,7 +17690,7 @@ internal static MacroExpansion __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15498,7 +17710,7 @@ protected MacroExpansion(void* native, bool skipVTables = false) public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15507,7 +17719,7 @@ public MacroExpansion() public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15527,94 +17739,167 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string Name + public global::CppSharp.Parser.AST.MacroDefinition Definition { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var __result0 = global::CppSharp.Parser.AST.MacroDefinition.__GetOrCreateInstance(((__Internal*)__Instance)->definition, false); + return __result0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + ((__Internal*)__Instance)->definition = value is null ? __IntPtr.Zero : value.__Instance; } } - public string Text + public string Name { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetName(__Instance, value); } } - public global::CppSharp.Parser.AST.MacroDefinition Definition + public string Text { get { - var __result0 = global::CppSharp.Parser.AST.MacroDefinition.__GetOrCreateInstance(((__Internal*)__Instance)->definition, false); - return __result0; + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->definition = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetText(__Instance, value); } } } public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 504)] + [StructLayout(LayoutKind.Explicit, Size = 504)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Name; + + [FieldOffset(64)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C debugText; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C DebugText; + + [FieldOffset(112)] internal byte isIncomplete; + + [FieldOffset(113)] internal byte isDependent; + + [FieldOffset(114)] internal byte isImplicit; + + [FieldOffset(115)] internal byte isInvalid; + + [FieldOffset(116)] internal byte isDeprecated; + + [FieldOffset(120)] internal __IntPtr completeDeclaration; + + [FieldOffset(128)] internal uint definitionOrder; + + [FieldOffset(136)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ PreprocessedEntities; + + [FieldOffset(160)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ Redeclarations; + + [FieldOffset(184)] internal __IntPtr originalPtr; + + [FieldOffset(192)] internal __IntPtr comment; + + [FieldOffset(200)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ Namespaces; + + [FieldOffset(224)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + + [FieldOffset(248)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + + [FieldOffset(272)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + + [FieldOffset(296)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + + [FieldOffset(320)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + + [FieldOffset(344)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ TypeAliases; + + [FieldOffset(368)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ Variables; + + [FieldOffset(392)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ Friends; + + [FieldOffset(416)] internal global::Std.Map.__Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ anonymous; + + [FieldOffset(440)] internal byte isAnonymous; + + [FieldOffset(441)] internal byte isInline; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; + + [FieldOffset(448)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C FileName; + + [FieldOffset(472)] internal byte isSystemHeader; + + [FieldOffset(480)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S0_ Macros; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15635,6 +17920,12 @@ public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namesp [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearMacros(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11getFileNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFileName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11setFileNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetFileName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetMacrosCount(__IntPtr __instance); } @@ -15665,7 +17956,7 @@ internal static TranslationUnit __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15685,7 +17976,7 @@ protected TranslationUnit(void* native, bool skipVTables = false) public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15694,7 +17985,7 @@ public TranslationUnit() public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15714,7 +18005,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -15739,30 +18030,30 @@ public void ClearMacros() __Internal.ClearMacros(__Instance); } - public string FileName + public bool IsSystemHeader { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isSystemHeader != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + ((__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); } } - public bool IsSystemHeader + public string FileName { get { - return ((__Internal*)__Instance)->isSystemHeader != 0; + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); + __Internal.SetFileName(__Instance, value); } } @@ -15778,9 +18069,10 @@ public uint MacrosCount public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S0_ TranslationUnits; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContextC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15792,9 +18084,6 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContextD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindOrCreateModule(__IntPtr __instance, __IntPtr File); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj", CallingConvention = __CallingConvention.Cdecl)] internal static extern __IntPtr GetTranslationUnits(__IntPtr __instance, uint i); @@ -15852,7 +18141,7 @@ internal static ASTContext __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15873,7 +18162,7 @@ protected ASTContext(void* native, bool skipVTables = false) public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15881,7 +18170,7 @@ public ASTContext() public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15906,21 +18195,10 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindOrCreateModule(__Instance, __arg0); - __basicString0.Dispose(disposing: true, callNativeDtor:false); - var __result0 = global::CppSharp.Parser.AST.TranslationUnit.__GetOrCreateInstance(___ret, false); - return __result0; - } - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) { var ___ret = __Internal.GetTranslationUnits(__Instance, i); @@ -16093,12 +18371,19 @@ public enum StmtClass public unsafe partial class Stmt : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4StmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16155,7 +18440,7 @@ internal static Stmt __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16176,7 +18461,7 @@ protected Stmt(void* native, bool skipVTables = false) public Stmt() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16184,7 +18469,7 @@ public Stmt() public Stmt(global::CppSharp.Parser.AST.StmtClass klass) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -16192,7 +18477,7 @@ public Stmt(global::CppSharp.Parser.AST.StmtClass klass) public Stmt(global::CppSharp.Parser.AST.Stmt _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Stmt.__Internal*) _0.__Instance); @@ -16212,7 +18497,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -16278,15 +18563,28 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class DeclStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ decls; + + [FieldOffset(48)] internal byte isSingleDecl; + + [FieldOffset(56)] internal __IntPtr singleDecl; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8DeclStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16337,7 +18635,7 @@ internal static DeclStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DeclStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -16357,7 +18655,7 @@ protected DeclStmt(void* native, bool skipVTables = false) public DeclStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16366,7 +18664,7 @@ public DeclStmt() public DeclStmt(global::CppSharp.Parser.AST.DeclStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -16386,7 +18684,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -16450,14 +18748,25 @@ public uint GetdeclsCount public unsafe partial class NullStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal semiLoc; + + [FieldOffset(24)] internal byte hasLeadingEmptyMacro; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8NullStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16493,7 +18802,7 @@ internal static NullStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16513,7 +18822,7 @@ protected NullStmt(void* native, bool skipVTables = false) public NullStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16522,7 +18831,7 @@ public NullStmt() public NullStmt(global::CppSharp.Parser.AST.NullStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NullStmt.__Internal*) _0.__Instance); @@ -16557,19 +18866,40 @@ public bool HasLeadingEmptyMacro public unsafe partial class CompoundStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S0_ body; + + [FieldOffset(48)] internal byte body_empty; + + [FieldOffset(52)] internal uint size; + + [FieldOffset(56)] internal __IntPtr body_front; + + [FieldOffset(64)] internal __IntPtr body_back; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal lBracLoc; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CompoundStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16620,7 +18950,7 @@ internal static CompoundStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CompoundStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -16640,7 +18970,7 @@ protected CompoundStmt(void* native, bool skipVTables = false) public CompoundStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16649,7 +18979,7 @@ public CompoundStmt() public CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -16669,7 +18999,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -16786,15 +19116,28 @@ public uint GetbodyCount public unsafe partial class SwitchCase : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(32)] internal __IntPtr subStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SwitchCaseC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16833,7 +19176,7 @@ internal static SwitchCase __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16853,7 +19196,7 @@ protected SwitchCase(void* native, bool skipVTables = false) public SwitchCase() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16862,7 +19205,7 @@ public SwitchCase() public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -16871,7 +19214,7 @@ public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SwitchCase.__Internal*) _0.__Instance); @@ -16925,20 +19268,43 @@ public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) public unsafe partial class CaseStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(32)] internal __IntPtr subStmt; + + [FieldOffset(40)] internal global::CppSharp.Parser.SourceLocation.__Internal caseLoc; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(48)] internal __IntPtr lHS; + + [FieldOffset(56)] internal __IntPtr rHS; + + [FieldOffset(64)] internal byte caseStmtIsGNURange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CaseStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16974,7 +19340,7 @@ internal static CaseStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16994,7 +19360,7 @@ protected CaseStmt(void* native, bool skipVTables = false) public CaseStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17003,7 +19369,7 @@ public CaseStmt() public CaseStmt(global::CppSharp.Parser.AST.CaseStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CaseStmt.__Internal*) _0.__Instance); @@ -17079,16 +19445,31 @@ public bool CaseStmtIsGNURange public unsafe partial class DefaultStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(32)] internal __IntPtr subStmt; + + [FieldOffset(40)] internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DefaultStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17124,7 +19505,7 @@ internal static DefaultStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17144,7 +19525,7 @@ protected DefaultStmt(void* native, bool skipVTables = false) public DefaultStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17153,7 +19534,7 @@ public DefaultStmt() public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) _0.__Instance); @@ -17175,15 +19556,28 @@ public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) public unsafe partial class LabelStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal identLoc; + + [FieldOffset(24)] internal __IntPtr subStmt; + + [FieldOffset(32)] internal __IntPtr name; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9LabelStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17220,7 +19614,7 @@ internal static LabelStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17240,7 +19634,7 @@ protected LabelStmt(void* native, bool skipVTables = false) public LabelStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17249,7 +19643,7 @@ public LabelStmt() public LabelStmt(global::CppSharp.Parser.AST.LabelStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) _0.__Instance); @@ -17312,14 +19706,25 @@ public string Name public unsafe partial class AttributedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal attrLoc; + + [FieldOffset(24)] internal __IntPtr subStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14AttributedStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17355,7 +19760,7 @@ internal static AttributedStmt __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17375,7 +19780,7 @@ protected AttributedStmt(void* native, bool skipVTables = false) public AttributedStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17384,7 +19789,7 @@ public AttributedStmt() public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) _0.__Instance); @@ -17420,24 +19825,55 @@ public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) public unsafe partial class IfStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr cond; + + [FieldOffset(32)] internal __IntPtr then; + + [FieldOffset(40)] internal __IntPtr _else; + + [FieldOffset(48)] internal __IntPtr init; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal ifLoc; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal elseLoc; + + [FieldOffset(64)] internal byte _constexpr; + + [FieldOffset(65)] internal byte hasInitStorage; + + [FieldOffset(66)] internal byte hasVarStorage; + + [FieldOffset(67)] internal byte hasElseStorage; + + [FieldOffset(72)] internal __IntPtr conditionVariableDeclStmt; + + [FieldOffset(80)] internal byte isObjCAvailabilityCheck; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6IfStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17473,7 +19909,7 @@ internal static IfStmt __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17493,7 +19929,7 @@ protected IfStmt(void* native, bool skipVTables = false) public IfStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17502,7 +19938,7 @@ public IfStmt() public IfStmt(global::CppSharp.Parser.AST.IfStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IfStmt.__Internal*) _0.__Instance); @@ -17672,20 +20108,43 @@ public bool IsObjCAvailabilityCheck public unsafe partial class SwitchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr cond; + + [FieldOffset(32)] internal __IntPtr body; + + [FieldOffset(40)] internal __IntPtr init; + + [FieldOffset(48)] internal global::CppSharp.Parser.SourceLocation.__Internal switchLoc; + + [FieldOffset(52)] internal byte hasInitStorage; + + [FieldOffset(53)] internal byte hasVarStorage; + + [FieldOffset(56)] internal __IntPtr conditionVariableDeclStmt; + + [FieldOffset(64)] internal byte isAllEnumCasesCovered; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SwitchStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17721,7 +20180,7 @@ internal static SwitchStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17741,7 +20200,7 @@ protected SwitchStmt(void* native, bool skipVTables = false) public SwitchStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17750,7 +20209,7 @@ public SwitchStmt() public SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) _0.__Instance); @@ -17867,17 +20326,34 @@ public bool IsAllEnumCasesCovered public unsafe partial class WhileStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr cond; + + [FieldOffset(32)] internal __IntPtr body; + + [FieldOffset(40)] internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(44)] internal byte hasVarStorage; + + [FieldOffset(48)] internal __IntPtr conditionVariableDeclStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9WhileStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17913,7 +20389,7 @@ internal static WhileStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17933,7 +20409,7 @@ protected WhileStmt(void* native, bool skipVTables = false) public WhileStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17942,7 +20418,7 @@ public WhileStmt() public WhileStmt(global::CppSharp.Parser.AST.WhileStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.WhileStmt.__Internal*) _0.__Instance); @@ -18019,17 +20495,34 @@ public bool HasVarStorage public unsafe partial class DoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr cond; + + [FieldOffset(32)] internal __IntPtr body; + + [FieldOffset(40)] internal global::CppSharp.Parser.SourceLocation.__Internal doLoc; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(48)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6DoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18065,7 +20558,7 @@ internal static DoStmt __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18085,7 +20578,7 @@ protected DoStmt(void* native, bool skipVTables = false) public DoStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18094,7 +20587,7 @@ public DoStmt() public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DoStmt.__Internal*) _0.__Instance); @@ -18170,20 +20663,43 @@ public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) public unsafe partial class ForStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr init; + + [FieldOffset(32)] internal __IntPtr cond; + + [FieldOffset(40)] internal __IntPtr inc; + + [FieldOffset(48)] internal __IntPtr body; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(72)] internal __IntPtr conditionVariableDeclStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7ForStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18219,7 +20735,7 @@ internal static ForStmt __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18239,7 +20755,7 @@ protected ForStmt(void* native, bool skipVTables = false) public ForStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18248,7 +20764,7 @@ public ForStmt() public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ForStmt.__Internal*) _0.__Instance); @@ -18366,14 +20882,25 @@ public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) public unsafe partial class GotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8GotoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18409,7 +20936,7 @@ internal static GotoStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18429,7 +20956,7 @@ protected GotoStmt(void* native, bool skipVTables = false) public GotoStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18438,7 +20965,7 @@ public GotoStmt() public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GotoStmt.__Internal*) _0.__Instance); @@ -18473,15 +21000,28 @@ public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) public unsafe partial class IndirectGotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal starLoc; + + [FieldOffset(32)] internal __IntPtr target; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16IndirectGotoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18517,7 +21057,7 @@ internal static IndirectGotoStmt __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18537,7 +21077,7 @@ protected IndirectGotoStmt(void* native, bool skipVTables = false) public IndirectGotoStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18546,7 +21086,7 @@ public IndirectGotoStmt() public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) _0.__Instance); @@ -18595,13 +21135,22 @@ public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) public unsafe partial class ContinueStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal continueLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12ContinueStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18637,7 +21186,7 @@ internal static ContinueStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18657,7 +21206,7 @@ protected ContinueStmt(void* native, bool skipVTables = false) public ContinueStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18666,7 +21215,7 @@ public ContinueStmt() public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) _0.__Instance); @@ -18688,13 +21237,22 @@ public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) public unsafe partial class BreakStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal breakLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9BreakStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18730,7 +21288,7 @@ internal static BreakStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18750,7 +21308,7 @@ protected BreakStmt(void* native, bool skipVTables = false) public BreakStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18759,7 +21317,7 @@ public BreakStmt() public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BreakStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BreakStmt.__Internal*) _0.__Instance); @@ -18781,14 +21339,25 @@ public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) public unsafe partial class ReturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr retValue; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal returnLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ReturnStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18824,7 +21393,7 @@ internal static ReturnStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18844,7 +21413,7 @@ protected ReturnStmt(void* native, bool skipVTables = false) public ReturnStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18853,7 +21422,7 @@ public ReturnStmt() public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) _0.__Instance); @@ -18889,21 +21458,46 @@ public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) public unsafe partial class AsmStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(48)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(76)] internal byte simple; + + [FieldOffset(77)] internal byte _volatile; + + [FieldOffset(80)] internal uint numOutputs; + + [FieldOffset(84)] internal uint numPlusOperands; + + [FieldOffset(88)] internal uint numInputs; + + [FieldOffset(92)] internal uint numClobbers; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18969,7 +21563,7 @@ internal static AsmStmt __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.AsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -18989,7 +21583,7 @@ protected AsmStmt(void* native, bool skipVTables = false) public AsmStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18998,7 +21592,7 @@ public AsmStmt() public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -19007,7 +21601,7 @@ public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) public AsmStmt(global::CppSharp.Parser.AST.AsmStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19027,7 +21621,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19190,22 +21784,49 @@ public uint GetoutputsCount public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(48)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(76)] internal byte simple; + + [FieldOffset(77)] internal byte _volatile; + + [FieldOffset(80)] internal uint numOutputs; + + [FieldOffset(84)] internal uint numPlusOperands; + + [FieldOffset(88)] internal uint numInputs; + + [FieldOffset(92)] internal uint numClobbers; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19220,13 +21841,22 @@ public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, ID public unsafe partial class AsmStringPiece : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public partial struct __Internal { + [FieldOffset(0)] internal byte isString; + + [FieldOffset(1)] internal byte isOperand; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(32)] internal uint operandNo; + + [FieldOffset(36)] internal sbyte modifier; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19237,6 +21867,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPiece9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPiece9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public enum Kind @@ -19289,7 +21925,7 @@ internal static AsmStringPiece __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -19310,7 +21946,7 @@ protected AsmStringPiece(void* native, bool skipVTables = false) public AsmStringPiece() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19318,7 +21954,7 @@ public AsmStringPiece() public AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19343,7 +21979,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19373,43 +22009,43 @@ public bool IsOperand } } - public string String + public uint OperandNo { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->@string)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->operandNo; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->@string), value); + ((__Internal*)__Instance)->operandNo = value; } } - public uint OperandNo + public sbyte Modifier { get { - return ((__Internal*)__Instance)->operandNo; + return ((__Internal*)__Instance)->modifier; } set { - ((__Internal*)__Instance)->operandNo = value; + ((__Internal*)__Instance)->modifier = value; } } - public sbyte Modifier + public string String { get { - return ((__Internal*)__Instance)->modifier; + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->modifier = value; + __Internal.SetString(__Instance, value); } } } @@ -19440,7 +22076,7 @@ internal static GCCAsmStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.GCCAsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -19460,7 +22096,7 @@ protected GCCAsmStmt(void* native, bool skipVTables = false) public GCCAsmStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19469,7 +22105,7 @@ public GCCAsmStmt() public GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19489,7 +22125,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19509,26 +22145,59 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ inputs; + + [FieldOffset(48)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ outputs; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(76)] internal byte simple; + + [FieldOffset(77)] internal byte _volatile; + + [FieldOffset(80)] internal uint numOutputs; + + [FieldOffset(84)] internal uint numPlusOperands; + + [FieldOffset(88)] internal uint numInputs; + + [FieldOffset(92)] internal uint numClobbers; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(100)] internal byte hasBraces; + + [FieldOffset(104)] internal uint numAsmToks; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C asmString; + + [FieldOffset(112)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C AsmString; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -19538,6 +22207,12 @@ public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDi [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmtD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmt12getAsmStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetAsmString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmt12setAsmStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetAsmString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new MSAsmStmt __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -19566,7 +22241,7 @@ internal static MSAsmStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MSAsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -19586,7 +22261,7 @@ protected MSAsmStmt(void* native, bool skipVTables = false) public MSAsmStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19595,7 +22270,7 @@ public MSAsmStmt() public MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19615,7 +22290,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19662,28 +22337,41 @@ public string AsmString { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->asmString)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetAsmString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->asmString), value); + __Internal.SetAsmString(__Instance, value); } } } public unsafe partial class SEHExceptStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal exceptLoc; + + [FieldOffset(24)] internal __IntPtr filterExpr; + + [FieldOffset(32)] internal __IntPtr block; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13SEHExceptStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19719,7 +22407,7 @@ internal static SEHExceptStmt __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -19739,7 +22427,7 @@ protected SEHExceptStmt(void* native, bool skipVTables = false) public SEHExceptStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19748,7 +22436,7 @@ public SEHExceptStmt() public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) _0.__Instance); @@ -19798,14 +22486,25 @@ public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) public unsafe partial class SEHFinallyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal finallyLoc; + + [FieldOffset(24)] internal __IntPtr block; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14SEHFinallyStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19841,7 +22540,7 @@ internal static SEHFinallyStmt __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -19861,7 +22560,7 @@ protected SEHFinallyStmt(void* native, bool skipVTables = false) public SEHFinallyStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19870,7 +22569,7 @@ public SEHFinallyStmt() public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) _0.__Instance); @@ -19906,18 +22605,37 @@ public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) public unsafe partial class SEHTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(24)] internal byte isCXXTry; + + [FieldOffset(32)] internal __IntPtr tryBlock; + + [FieldOffset(40)] internal __IntPtr handler; + + [FieldOffset(48)] internal __IntPtr exceptHandler; + + [FieldOffset(56)] internal __IntPtr finallyHandler; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SEHTryStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19953,7 +22671,7 @@ internal static SEHTryStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -19973,7 +22691,7 @@ protected SEHTryStmt(void* native, bool skipVTables = false) public SEHTryStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19982,7 +22700,7 @@ public SEHTryStmt() public SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) _0.__Instance); @@ -20073,13 +22791,22 @@ public bool IsCXXTry public unsafe partial class SEHLeaveStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal leaveLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12SEHLeaveStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20115,7 +22842,7 @@ internal static SEHLeaveStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20135,7 +22862,7 @@ protected SEHLeaveStmt(void* native, bool skipVTables = false) public SEHLeaveStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20144,7 +22871,7 @@ public SEHLeaveStmt() public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) _0.__Instance); @@ -20166,15 +22893,28 @@ public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) public unsafe partial class CapturedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ capture_inits; + + [FieldOffset(48)] internal __IntPtr capturedStmt; + + [FieldOffset(56)] internal uint capture_size; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20209,14 +22949,25 @@ public enum VariableCaptureKind public unsafe partial class Capture : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind captureKind; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(8)] internal byte capturesThis; + + [FieldOffset(9)] internal byte capturesVariable; + + [FieldOffset(10)] internal byte capturesVariableByCopy; + + [FieldOffset(11)] internal byte capturesVariableArrayType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmt7CaptureC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20270,7 +23021,7 @@ internal static Capture __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20291,7 +23042,7 @@ protected Capture(void* native, bool skipVTables = false) public Capture() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20299,7 +23050,7 @@ public Capture() public Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) _0.__Instance); @@ -20319,7 +23070,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -20428,7 +23179,7 @@ internal static CapturedStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CapturedStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -20448,7 +23199,7 @@ protected CapturedStmt(void* native, bool skipVTables = false) public CapturedStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20457,7 +23208,7 @@ public CapturedStmt() public CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -20477,7 +23228,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -20541,15 +23292,28 @@ public uint GetcaptureInitsCount public unsafe partial class CXXCatchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal catchLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal caughtType; + + [FieldOffset(40)] internal __IntPtr handlerBlock; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CXXCatchStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20585,7 +23349,7 @@ internal static CXXCatchStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20605,7 +23369,7 @@ protected CXXCatchStmt(void* native, bool skipVTables = false) public CXXCatchStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20614,7 +23378,7 @@ public CXXCatchStmt() public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) _0.__Instance); @@ -20665,15 +23429,28 @@ public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) public unsafe partial class CXXTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(24)] internal __IntPtr tryBlock; + + [FieldOffset(32)] internal uint numHandlers; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXTryStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20709,7 +23486,7 @@ internal static CXXTryStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20729,7 +23506,7 @@ protected CXXTryStmt(void* native, bool skipVTables = false) public CXXTryStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20738,7 +23515,7 @@ public CXXTryStmt() public CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) _0.__Instance); @@ -20787,25 +23564,58 @@ public uint NumHandlers public unsafe partial class CXXForRangeStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr init; + + [FieldOffset(32)] internal __IntPtr rangeInit; + + [FieldOffset(40)] internal __IntPtr cond; + + [FieldOffset(48)] internal __IntPtr inc; + + [FieldOffset(56)] internal __IntPtr body; + + [FieldOffset(64)] internal __IntPtr rangeStmt; + + [FieldOffset(72)] internal __IntPtr beginStmt; + + [FieldOffset(80)] internal __IntPtr endStmt; + + [FieldOffset(88)] internal __IntPtr loopVarStmt; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal coawaitLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15CXXForRangeStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20841,7 +23651,7 @@ internal static CXXForRangeStmt __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20861,7 +23671,7 @@ protected CXXForRangeStmt(void* native, bool skipVTables = false) public CXXForRangeStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20870,7 +23680,7 @@ public CXXForRangeStmt() public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) _0.__Instance); @@ -21057,16 +23867,31 @@ public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) public unsafe partial class MSDependentExistsStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal byte isIfExists; + + [FieldOffset(25)] internal byte isIfNotExists; + + [FieldOffset(32)] internal __IntPtr subStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21MSDependentExistsStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21102,7 +23927,7 @@ internal static MSDependentExistsStmt __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21122,7 +23947,7 @@ protected MSDependentExistsStmt(void* native, bool skipVTables = false) public MSDependentExistsStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21131,7 +23956,7 @@ public MSDependentExistsStmt() public MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) _0.__Instance); @@ -21193,25 +24018,58 @@ public bool IsIfNotExists public unsafe partial class CoroutineBodyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal byte hasDependentPromiseType; + + [FieldOffset(24)] internal __IntPtr body; + + [FieldOffset(32)] internal __IntPtr promiseDeclStmt; + + [FieldOffset(40)] internal __IntPtr initSuspendStmt; + + [FieldOffset(48)] internal __IntPtr finalSuspendStmt; + + [FieldOffset(56)] internal __IntPtr exceptionHandler; + + [FieldOffset(64)] internal __IntPtr fallthroughHandler; + + [FieldOffset(72)] internal __IntPtr allocate; + + [FieldOffset(80)] internal __IntPtr deallocate; + + [FieldOffset(88)] internal __IntPtr returnValueInit; + + [FieldOffset(96)] internal __IntPtr resultDecl; + + [FieldOffset(104)] internal __IntPtr returnStmt; + + [FieldOffset(112)] internal __IntPtr returnStmtOnAllocFailure; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CoroutineBodyStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21240,7 +24098,7 @@ public enum SubStmt public unsafe partial class CtorArgs : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CoroutineBodyStmt8CtorArgsC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21294,7 +24152,7 @@ internal static CtorArgs __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21315,7 +24173,7 @@ protected CtorArgs(void* native, bool skipVTables = false) public CtorArgs() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21323,7 +24181,7 @@ public CtorArgs() public CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) _0.__Instance); @@ -21343,7 +24201,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -21374,7 +24232,7 @@ internal static CoroutineBodyStmt __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21394,7 +24252,7 @@ protected CoroutineBodyStmt(void* native, bool skipVTables = false) public CoroutineBodyStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21403,7 +24261,7 @@ public CoroutineBodyStmt() public CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) _0.__Instance); @@ -21593,16 +24451,31 @@ public bool HasDependentPromiseType public unsafe partial class CoreturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal byte isImplicit; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(32)] internal __IntPtr operand; + + [FieldOffset(40)] internal __IntPtr promiseCall; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CoreturnStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21645,7 +24518,7 @@ internal static CoreturnStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21665,7 +24538,7 @@ protected CoreturnStmt(void* native, bool skipVTables = false) public CoreturnStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21674,7 +24547,7 @@ public CoreturnStmt() public CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) _0.__Instance); @@ -21930,26 +24803,61 @@ public enum UnaryExprOrTypeTrait public unsafe partial class Expr : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4ExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22028,16 +24936,31 @@ public enum NullPointerConstantValueDependence public unsafe partial class Classification : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.Expr.Classification.Kinds kind; + + [FieldOffset(4)] internal global::CppSharp.Parser.AST.Expr.Classification.ModifiableType modifiable; + + [FieldOffset(8)] internal byte isLValue; + + [FieldOffset(9)] internal byte isXValue; + + [FieldOffset(10)] internal byte isGLValue; + + [FieldOffset(11)] internal byte isPRValue; + + [FieldOffset(12)] internal byte isRValue; + + [FieldOffset(13)] internal byte isModifiable; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4Expr14ClassificationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22122,7 +25045,7 @@ internal static Classification __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22143,7 +25066,7 @@ protected Classification(void* native, bool skipVTables = false) public Classification() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22151,7 +25074,7 @@ public Classification() public Classification(global::CppSharp.Parser.AST.Expr.Classification _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) _0.__Instance); @@ -22171,7 +25094,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -22306,7 +25229,7 @@ internal static Expr __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22326,7 +25249,7 @@ protected Expr(void* native, bool skipVTables = false) public Expr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22335,7 +25258,7 @@ public Expr() public Expr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -22344,7 +25267,7 @@ public Expr(global::CppSharp.Parser.AST.StmtClass klass) public Expr(global::CppSharp.Parser.AST.Expr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Expr.__Internal*) _0.__Instance); @@ -22544,27 +25467,64 @@ public bool HasPlaceholderType public unsafe partial class FullExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8FullExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22603,7 +25563,7 @@ internal static FullExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22623,7 +25583,7 @@ protected FullExpr(void* native, bool skipVTables = false) public FullExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22632,7 +25592,7 @@ public FullExpr() public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -22641,7 +25601,7 @@ public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FullExpr.__Internal*) _0.__Instance); @@ -22669,27 +25629,64 @@ public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) public unsafe partial class ConstantExpr : global::CppSharp.Parser.AST.FullExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12ConstantExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22725,7 +25722,7 @@ internal static ConstantExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22745,7 +25742,7 @@ protected ConstantExpr(void* native, bool skipVTables = false) public ConstantExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22754,7 +25751,7 @@ public ConstantExpr() public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) _0.__Instance); @@ -22763,29 +25760,70 @@ public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) public unsafe partial class OpaqueValueExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isUnique; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal __IntPtr sourceExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15OpaqueValueExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22821,7 +25859,7 @@ internal static OpaqueValueExpr __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22841,7 +25879,7 @@ protected OpaqueValueExpr(void* native, bool skipVTables = false) public OpaqueValueExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22850,7 +25888,7 @@ public OpaqueValueExpr() public OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) _0.__Instance); @@ -22899,38 +25937,97 @@ public bool IsUnique public unsafe partial class DeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal byte hadMultipleCandidates; + + [FieldOffset(81)] internal byte hasQualifier; + + [FieldOffset(88)] internal __IntPtr foundDecl; + + [FieldOffset(96)] internal byte hasTemplateKWAndArgsInfo; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(112)] internal byte hasTemplateKeyword; + + [FieldOffset(113)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(116)] internal uint numTemplateArgs; + + [FieldOffset(120)] internal byte refersToEnclosingVariableOrCapture; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DeclRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22966,7 +26063,7 @@ internal static DeclRefExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22986,7 +26083,7 @@ protected DeclRefExpr(void* native, bool skipVTables = false) public DeclRefExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22995,7 +26092,7 @@ public DeclRefExpr() public DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) _0.__Instance); @@ -23161,28 +26258,67 @@ public bool RefersToEnclosingVariableOrCapture public unsafe partial class IntegerLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal ulong value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14IntegerLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23218,7 +26354,7 @@ internal static IntegerLiteral __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23238,7 +26374,7 @@ protected IntegerLiteral(void* native, bool skipVTables = false) public IntegerLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23247,7 +26383,7 @@ public IntegerLiteral() public IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) _0.__Instance); @@ -23282,28 +26418,67 @@ public ulong Value public unsafe partial class FixedPointLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal ulong value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17FixedPointLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23339,7 +26514,7 @@ internal static FixedPointLiteral __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23359,7 +26534,7 @@ protected FixedPointLiteral(void* native, bool skipVTables = false) public FixedPointLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23368,7 +26543,7 @@ public FixedPointLiteral() public FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) _0.__Instance); @@ -23403,29 +26578,70 @@ public ulong Value public unsafe partial class CharacterLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind kind; + + [FieldOffset(84)] internal uint value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CharacterLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23470,7 +26686,7 @@ internal static CharacterLiteral __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23490,7 +26706,7 @@ protected CharacterLiteral(void* native, bool skipVTables = false) public CharacterLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23499,7 +26715,7 @@ public CharacterLiteral() public CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) _0.__Instance); @@ -23547,29 +26763,70 @@ public uint Value public unsafe partial class FloatingLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte exact; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal double valueAsApproximateDouble; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15FloatingLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23605,7 +26862,7 @@ internal static FloatingLiteral __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23625,7 +26882,7 @@ protected FloatingLiteral(void* native, bool skipVTables = false) public FloatingLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23634,7 +26891,7 @@ public FloatingLiteral() public FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) _0.__Instance); @@ -23682,27 +26939,64 @@ public double ValueAsApproximateDouble public unsafe partial class ImaginaryLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ImaginaryLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23738,7 +27032,7 @@ internal static ImaginaryLiteral __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23758,7 +27052,7 @@ protected ImaginaryLiteral(void* native, bool skipVTables = false) public ImaginaryLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23767,7 +27061,7 @@ public ImaginaryLiteral() public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) _0.__Instance); @@ -23790,41 +27084,106 @@ public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C @string; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C bytes; + + [FieldOffset(80)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C String; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Bytes; + + [FieldOffset(128)] internal uint byteLength; + + [FieldOffset(132)] internal uint length; + + [FieldOffset(136)] internal uint charByteWidth; + + [FieldOffset(140)] internal global::CppSharp.Parser.AST.StringLiteral.StringKind kind; + + [FieldOffset(144)] internal byte isAscii; + + [FieldOffset(145)] internal byte isWide; + + [FieldOffset(146)] internal byte isUTF8; + + [FieldOffset(147)] internal byte isUTF16; + + [FieldOffset(148)] internal byte isUTF32; + + [FieldOffset(149)] internal byte isPascal; + + [FieldOffset(150)] internal byte containsNonAscii; + + [FieldOffset(151)] internal byte containsNonAsciiOrNull; + + [FieldOffset(152)] internal uint numConcatenated; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23835,6 +27194,18 @@ public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, ID [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteralD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral8getBytesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBytes(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral8setBytesEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBytes(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public enum StringKind @@ -23872,7 +27243,7 @@ internal static StringLiteral __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.StringLiteral.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -23892,7 +27263,7 @@ protected StringLiteral(void* native, bool skipVTables = false) public StringLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23901,7 +27272,7 @@ public StringLiteral() public StringLiteral(global::CppSharp.Parser.AST.StringLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -23921,38 +27292,10 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string String - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->@string)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->@string), value); - } - } - - public string Bytes - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->bytes)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->bytes), value); - } - } - public uint ByteLength { get @@ -24121,32 +27464,99 @@ public uint NumConcatenated ((__Internal*)__Instance)->numConcatenated = value; } } + + public string String + { + get + { + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetString(__Instance, value); + } + } + + public string Bytes + { + get + { + var ___ret = __Internal.GetBytes(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetBytes(__Instance, value); + } + } } public unsafe partial class PredefinedExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14PredefinedExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24194,7 +27604,7 @@ internal static PredefinedExpr __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24214,7 +27624,7 @@ protected PredefinedExpr(void* native, bool skipVTables = false) public PredefinedExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24223,7 +27633,7 @@ public PredefinedExpr() public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) _0.__Instance); @@ -24258,29 +27668,70 @@ public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) public unsafe partial class ParenExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lParen; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rParen; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ParenExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24316,7 +27767,7 @@ internal static ParenExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24336,7 +27787,7 @@ protected ParenExpr(void* native, bool skipVTables = false) public ParenExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24345,7 +27796,7 @@ public ParenExpr() public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenExpr.__Internal*) _0.__Instance); @@ -24394,37 +27845,94 @@ public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) public unsafe partial class UnaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.UnaryOperatorKind opcode; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(92)] internal byte canOverflow; + + [FieldOffset(93)] internal byte isPrefix; + + [FieldOffset(94)] internal byte isPostfix; + + [FieldOffset(95)] internal byte isIncrementOp; + + [FieldOffset(96)] internal byte isDecrementOp; + + [FieldOffset(97)] internal byte isIncrementDecrementOp; + + [FieldOffset(98)] internal byte isArithmeticOp; + + [FieldOffset(99)] internal byte isFPContractableWithinStatement; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13UnaryOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24460,7 +27968,7 @@ internal static UnaryOperator __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24480,7 +27988,7 @@ protected UnaryOperator(void* native, bool skipVTables = false) public UnaryOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24489,7 +27997,7 @@ public UnaryOperator() public UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) _0.__Instance); @@ -24642,30 +28150,73 @@ public bool IsFPContractableWithinStatement public unsafe partial class OffsetOfExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] internal uint numComponents; + + [FieldOffset(88)] internal uint numExpressions; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OffsetOfExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24701,7 +28252,7 @@ internal static OffsetOfExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24721,7 +28272,7 @@ protected OffsetOfExpr(void* native, bool skipVTables = false) public OffsetOfExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24730,7 +28281,7 @@ public OffsetOfExpr() public OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) _0.__Instance); @@ -24791,33 +28342,82 @@ public uint NumExpressions public unsafe partial class UnaryExprOrTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.UnaryExprOrTypeTrait kind; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(88)] internal byte isArgumentType; + + [FieldOffset(96)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal argumentType; + + [FieldOffset(112)] internal __IntPtr argumentExpr; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeOfArgument; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24UnaryExprOrTypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24853,7 +28453,7 @@ internal static UnaryExprOrTypeTraitExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24873,7 +28473,7 @@ protected UnaryExprOrTypeTraitExpr(void* native, bool skipVTables = false) public UnaryExprOrTypeTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24882,7 +28482,7 @@ public UnaryExprOrTypeTraitExpr() public UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) _0.__Instance); @@ -24987,31 +28587,76 @@ public bool IsArgumentType public unsafe partial class ArraySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr lHS; + + [FieldOffset(88)] internal __IntPtr rHS; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(104)] internal __IntPtr @base; + + [FieldOffset(112)] internal __IntPtr idx; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArraySubscriptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25047,7 +28692,7 @@ internal static ArraySubscriptExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25067,7 +28712,7 @@ protected ArraySubscriptExpr(void* native, bool skipVTables = false) public ArraySubscriptExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25076,7 +28721,7 @@ public ArraySubscriptExpr() public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) _0.__Instance); @@ -25154,35 +28799,88 @@ public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25236,7 +28934,7 @@ internal static CallExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -25256,7 +28954,7 @@ protected CallExpr(void* native, bool skipVTables = false) public CallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25265,7 +28963,7 @@ public CallExpr() public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -25274,7 +28972,7 @@ public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -25294,7 +28992,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -25443,39 +29141,100 @@ public uint GetargumentsCount public unsafe partial class MemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal byte arrow; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(96)] internal byte hadMultipleCandidates; + + [FieldOffset(97)] internal byte hasQualifier; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(112)] internal byte hasTemplateKeyword; + + [FieldOffset(113)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(116)] internal uint numTemplateArgs; + + [FieldOffset(120)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(124)] internal byte isImplicitAccess; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10MemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25511,7 +29270,7 @@ internal static MemberExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25531,7 +29290,7 @@ protected MemberExpr(void* native, bool skipVTables = false) public MemberExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25540,7 +29299,7 @@ public MemberExpr() public MemberExpr(global::CppSharp.Parser.AST.MemberExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MemberExpr.__Internal*) _0.__Instance); @@ -25719,29 +29478,70 @@ public bool IsImplicitAccess public unsafe partial class CompoundLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr initializer; + + [FieldOffset(88)] internal byte fileScope; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19CompoundLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25777,7 +29577,7 @@ internal static CompoundLiteralExpr __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25797,7 +29597,7 @@ protected CompoundLiteralExpr(void* native, bool skipVTables = false) public CompoundLiteralExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25806,7 +29606,7 @@ public CompoundLiteralExpr() public CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) _0.__Instance); @@ -25855,33 +29655,82 @@ public bool FileScope public unsafe partial class CastExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25921,7 +29770,7 @@ internal static CastExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25941,7 +29790,7 @@ protected CastExpr(void* native, bool skipVTables = false) public CastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25950,7 +29799,7 @@ public CastExpr() public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -25959,7 +29808,7 @@ public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) public CastExpr(global::CppSharp.Parser.AST.CastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CastExpr.__Internal*) _0.__Instance); @@ -26081,34 +29930,85 @@ public uint PathSize public unsafe partial class ImplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal byte isPartOfExplicitCast; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ImplicitCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26149,7 +30049,7 @@ internal static ImplicitCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -26169,7 +30069,7 @@ protected ImplicitCastExpr(void* native, bool skipVTables = false) public ImplicitCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26178,7 +30078,7 @@ public ImplicitCastExpr() public ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) _0.__Instance); @@ -26200,34 +30100,85 @@ public bool IsPartOfExplicitCast public unsafe partial class ExplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26266,7 +30217,7 @@ internal static ExplicitCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -26286,7 +30237,7 @@ protected ExplicitCastExpr(void* native, bool skipVTables = false) public ExplicitCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26295,7 +30246,7 @@ public ExplicitCastExpr() public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -26304,7 +30255,7 @@ public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) _0.__Instance); @@ -26333,36 +30284,91 @@ public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) public unsafe partial class CStyleCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(140)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14CStyleCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26398,7 +30404,7 @@ internal static CStyleCastExpr __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -26418,7 +30424,7 @@ protected CStyleCastExpr(void* native, bool skipVTables = false) public CStyleCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26427,7 +30433,7 @@ public CStyleCastExpr() public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) _0.__Instance); @@ -26462,45 +30468,118 @@ public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(88)] internal __IntPtr lHS; + + [FieldOffset(96)] internal __IntPtr rHS; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C opcodeStr; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C OpcodeStr; + + [FieldOffset(128)] internal byte isPtrMemOp; + + [FieldOffset(129)] internal byte isMultiplicativeOp; + + [FieldOffset(130)] internal byte isAdditiveOp; + + [FieldOffset(131)] internal byte isShiftOp; + + [FieldOffset(132)] internal byte isBitwiseOp; + + [FieldOffset(133)] internal byte isRelationalOp; + + [FieldOffset(134)] internal byte isEqualityOp; + + [FieldOffset(135)] internal byte isComparisonOp; + + [FieldOffset(136)] internal byte isLogicalOp; + + [FieldOffset(137)] internal byte isAssignmentOp; + + [FieldOffset(138)] internal byte isCompoundAssignmentOp; + + [FieldOffset(139)] internal byte isShiftAssignOp; + + [FieldOffset(140)] internal byte isFPContractableWithinStatement; + + [FieldOffset(141)] internal byte isFEnvAccessOn; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26514,6 +30593,12 @@ public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, I [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperator12getOpcodeStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetOpcodeStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperator12setOpcodeStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetOpcodeStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new BinaryOperator __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -26542,7 +30627,7 @@ internal static BinaryOperator __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -26562,7 +30647,7 @@ protected BinaryOperator(void* native, bool skipVTables = false) public BinaryOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26571,7 +30656,7 @@ public BinaryOperator() public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -26580,7 +30665,7 @@ public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -26600,7 +30685,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -26663,20 +30748,6 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) } } - public string OpcodeStr - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->opcodeStr)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->opcodeStr), value); - } - } - public bool IsPtrMemOp { get @@ -26858,51 +30929,142 @@ public bool IsFEnvAccessOn ((__Internal*)__Instance)->isFEnvAccessOn = (byte) (value ? 1 : 0); } } + + public string OpcodeStr + { + get + { + var ___ret = __Internal.GetOpcodeStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetOpcodeStr(__Instance, value); + } + } } public unsafe partial class CompoundAssignOperator : global::CppSharp.Parser.AST.BinaryOperator, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 176)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(88)] internal __IntPtr lHS; + + [FieldOffset(96)] internal __IntPtr rHS; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C opcodeStr; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C OpcodeStr; + + [FieldOffset(128)] internal byte isPtrMemOp; + + [FieldOffset(129)] internal byte isMultiplicativeOp; + + [FieldOffset(130)] internal byte isAdditiveOp; + + [FieldOffset(131)] internal byte isShiftOp; + + [FieldOffset(132)] internal byte isBitwiseOp; + + [FieldOffset(133)] internal byte isRelationalOp; + + [FieldOffset(134)] internal byte isEqualityOp; + + [FieldOffset(135)] internal byte isComparisonOp; + + [FieldOffset(136)] internal byte isLogicalOp; + + [FieldOffset(137)] internal byte isAssignmentOp; + + [FieldOffset(138)] internal byte isCompoundAssignmentOp; + + [FieldOffset(139)] internal byte isShiftAssignOp; + + [FieldOffset(140)] internal byte isFPContractableWithinStatement; + + [FieldOffset(141)] internal byte isFEnvAccessOn; + + [FieldOffset(144)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationLHSType; + + [FieldOffset(160)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationResultType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26941,7 +31103,7 @@ internal static CompoundAssignOperator __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -26961,7 +31123,7 @@ protected CompoundAssignOperator(void* native, bool skipVTables = false) public CompoundAssignOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26970,7 +31132,7 @@ public CompoundAssignOperator() public CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -26990,7 +31152,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -27027,31 +31189,76 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class AbstractConditionalOperator : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr cond; + + [FieldOffset(88)] internal __IntPtr trueExpr; + + [FieldOffset(96)] internal __IntPtr falseExpr; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27090,7 +31297,7 @@ internal static AbstractConditionalOperator __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27110,7 +31317,7 @@ protected AbstractConditionalOperator(void* native, bool skipVTables = false) public AbstractConditionalOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27119,7 +31326,7 @@ public AbstractConditionalOperator() public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -27128,7 +31335,7 @@ public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) _0.__Instance); @@ -27210,33 +31417,82 @@ public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractCondition public unsafe partial class ConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr cond; + + [FieldOffset(88)] internal __IntPtr trueExpr; + + [FieldOffset(96)] internal __IntPtr falseExpr; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(112)] internal __IntPtr lHS; + + [FieldOffset(120)] internal __IntPtr rHS; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27272,7 +31528,7 @@ internal static ConditionalOperator __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27292,7 +31548,7 @@ protected ConditionalOperator(void* native, bool skipVTables = false) public ConditionalOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27301,7 +31557,7 @@ public ConditionalOperator() public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) _0.__Instance); @@ -27338,33 +31594,82 @@ public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) public unsafe partial class BinaryConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr cond; + + [FieldOffset(88)] internal __IntPtr trueExpr; + + [FieldOffset(96)] internal __IntPtr falseExpr; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(112)] internal __IntPtr common; + + [FieldOffset(120)] internal __IntPtr opaqueValue; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25BinaryConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27400,7 +31705,7 @@ internal static BinaryConditionalOperator __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27420,7 +31725,7 @@ protected BinaryConditionalOperator(void* native, bool skipVTables = false) public BinaryConditionalOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27429,7 +31734,7 @@ public BinaryConditionalOperator() public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) _0.__Instance); @@ -27466,28 +31771,67 @@ public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOp public unsafe partial class AddrLabelExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal ampAmpLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13AddrLabelExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27523,7 +31867,7 @@ internal static AddrLabelExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27543,7 +31887,7 @@ protected AddrLabelExpr(void* native, bool skipVTables = false) public AddrLabelExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27552,7 +31896,7 @@ public AddrLabelExpr() public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) _0.__Instance); @@ -27587,29 +31931,70 @@ public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) public unsafe partial class StmtExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subStmt; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8StmtExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27645,7 +32030,7 @@ internal static StmtExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27665,7 +32050,7 @@ protected StmtExpr(void* native, bool skipVTables = false) public StmtExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27674,7 +32059,7 @@ public StmtExpr() public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.StmtExpr.__Internal*) _0.__Instance); @@ -27723,29 +32108,70 @@ public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) public unsafe partial class ShuffleVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] internal uint numSubExprs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ShuffleVectorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27781,7 +32207,7 @@ internal static ShuffleVectorExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27801,7 +32227,7 @@ protected ShuffleVectorExpr(void* native, bool skipVTables = false) public ShuffleVectorExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27810,7 +32236,7 @@ public ShuffleVectorExpr() public ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) _0.__Instance); @@ -27858,29 +32284,70 @@ public uint NumSubExprs public unsafe partial class ConvertVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr srcExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ConvertVectorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27916,7 +32383,7 @@ internal static ConvertVectorExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27936,7 +32403,7 @@ protected ConvertVectorExpr(void* native, bool skipVTables = false) public ConvertVectorExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27945,7 +32412,7 @@ public ConvertVectorExpr() public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) _0.__Instance); @@ -27994,34 +32461,85 @@ public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) public unsafe partial class ChooseExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isConditionTrue; + + [FieldOffset(80)] internal __IntPtr cond; + + [FieldOffset(88)] internal __IntPtr lHS; + + [FieldOffset(96)] internal __IntPtr rHS; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] internal byte isConditionDependent; + + [FieldOffset(120)] internal __IntPtr chosenSubExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ChooseExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28057,7 +32575,7 @@ internal static ChooseExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28077,7 +32595,7 @@ protected ChooseExpr(void* native, bool skipVTables = false) public ChooseExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28086,7 +32604,7 @@ public ChooseExpr() public ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) _0.__Instance); @@ -28203,27 +32721,64 @@ public bool IsConditionDependent public unsafe partial class GNUNullExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal tokenLocation; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11GNUNullExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28259,7 +32814,7 @@ internal static GNUNullExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28279,7 +32834,7 @@ protected GNUNullExpr(void* native, bool skipVTables = false) public GNUNullExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28288,7 +32843,7 @@ public GNUNullExpr() public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) _0.__Instance); @@ -28310,30 +32865,73 @@ public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) public unsafe partial class VAArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal byte isMicrosoftABI; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9VAArgExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28369,7 +32967,7 @@ internal static VAArgExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28389,7 +32987,7 @@ protected VAArgExpr(void* native, bool skipVTables = false) public VAArgExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28398,7 +32996,7 @@ public VAArgExpr() public VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) _0.__Instance); @@ -28460,38 +33058,97 @@ public bool IsMicrosoftABI public unsafe partial class InitListExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr arrayFiller; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rBraceLoc; + + [FieldOffset(96)] internal __IntPtr syntacticForm; + + [FieldOffset(104)] internal uint numInits; + + [FieldOffset(108)] internal byte hasArrayFiller; + + [FieldOffset(109)] internal byte isExplicit; + + [FieldOffset(110)] internal byte isStringLiteralInit; + + [FieldOffset(111)] internal byte isTransparent; + + [FieldOffset(112)] internal byte isSemanticForm; + + [FieldOffset(120)] internal __IntPtr semanticForm; + + [FieldOffset(128)] internal byte isSyntacticForm; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12InitListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28527,7 +33184,7 @@ internal static InitListExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28547,7 +33204,7 @@ protected InitListExpr(void* native, bool skipVTables = false) public InitListExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28556,7 +33213,7 @@ public InitListExpr() public InitListExpr(global::CppSharp.Parser.AST.InitListExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InitListExpr.__Internal*) _0.__Instance); @@ -28724,32 +33381,79 @@ public bool IsSyntacticForm public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal equalOrColonLoc; + + [FieldOffset(80)] internal __IntPtr init; + + [FieldOffset(88)] internal uint size; + + [FieldOffset(92)] internal byte usesGNUSyntax; + + [FieldOffset(96)] internal uint numSubExprs; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceRange.__Internal designatorsSourceRange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28761,19 +33465,40 @@ public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Exp public unsafe partial class Designator : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public partial struct __Internal { + [FieldOffset(0)] internal __IntPtr field; + + [FieldOffset(8)] internal byte isFieldDesignator; + + [FieldOffset(9)] internal byte isArrayDesignator; + + [FieldOffset(10)] internal byte isArrayRangeDesignator; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal dotLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal fieldLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal lBracketLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(28)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(32)] internal uint firstExprIndex; + + [FieldOffset(36)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr10DesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28827,7 +33552,7 @@ internal static Designator __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28848,7 +33573,7 @@ protected Designator(void* native, bool skipVTables = false) public Designator() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28856,7 +33581,7 @@ public Designator() public Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) _0.__Instance); @@ -28876,7 +33601,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -29029,7 +33754,7 @@ public uint FirstExprIndex public unsafe partial class FieldDesignator : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr15FieldDesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29083,7 +33808,7 @@ internal static FieldDesignator __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29104,7 +33829,7 @@ protected FieldDesignator(void* native, bool skipVTables = false) public FieldDesignator() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29112,7 +33837,7 @@ public FieldDesignator() public FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) _0.__Instance); @@ -29132,14 +33857,14 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class ArrayOrRangeDesignator : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr22ArrayOrRangeDesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29193,7 +33918,7 @@ internal static ArrayOrRangeDesignator __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29214,7 +33939,7 @@ protected ArrayOrRangeDesignator(void* native, bool skipVTables = false) public ArrayOrRangeDesignator() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29222,7 +33947,7 @@ public ArrayOrRangeDesignator() public ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) _0.__Instance); @@ -29242,7 +33967,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -29273,7 +33998,7 @@ internal static DesignatedInitExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29293,7 +34018,7 @@ protected DesignatedInitExpr(void* native, bool skipVTables = false) public DesignatedInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29302,7 +34027,7 @@ public DesignatedInitExpr() public DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) _0.__Instance); @@ -29392,26 +34117,61 @@ public uint NumSubExprs public unsafe partial class NoInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10NoInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29447,7 +34207,7 @@ internal static NoInitExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29467,7 +34227,7 @@ protected NoInitExpr(void* native, bool skipVTables = false) public NoInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29476,7 +34236,7 @@ public NoInitExpr() public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) _0.__Instance); @@ -29485,28 +34245,67 @@ public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) public unsafe partial class DesignatedInitUpdateExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal __IntPtr updater; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24DesignatedInitUpdateExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29542,7 +34341,7 @@ internal static DesignatedInitUpdateExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29562,7 +34361,7 @@ protected DesignatedInitUpdateExpr(void* native, bool skipVTables = false) public DesignatedInitUpdateExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29571,7 +34370,7 @@ public DesignatedInitUpdateExpr() public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) _0.__Instance); @@ -29608,28 +34407,67 @@ public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdate public unsafe partial class ArrayInitLoopExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr commonExpr; + + [FieldOffset(88)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ArrayInitLoopExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29665,7 +34503,7 @@ internal static ArrayInitLoopExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29685,7 +34523,7 @@ protected ArrayInitLoopExpr(void* native, bool skipVTables = false) public ArrayInitLoopExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29694,7 +34532,7 @@ public ArrayInitLoopExpr() public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) _0.__Instance); @@ -29731,26 +34569,61 @@ public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) public unsafe partial class ArrayInitIndexExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArrayInitIndexExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29786,7 +34659,7 @@ internal static ArrayInitIndexExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29806,7 +34679,7 @@ protected ArrayInitIndexExpr(void* native, bool skipVTables = false) public ArrayInitIndexExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29815,7 +34688,7 @@ public ArrayInitIndexExpr() public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) _0.__Instance); @@ -29824,26 +34697,61 @@ public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) public unsafe partial class ImplicitValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21ImplicitValueInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29879,7 +34787,7 @@ internal static ImplicitValueInitExpr __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29899,7 +34807,7 @@ protected ImplicitValueInitExpr(void* native, bool skipVTables = false) public ImplicitValueInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29908,7 +34816,7 @@ public ImplicitValueInitExpr() public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) _0.__Instance); @@ -29917,29 +34825,70 @@ public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _ public unsafe partial class ParenListExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numExprs; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ParenListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29975,7 +34924,7 @@ internal static ParenListExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29995,7 +34944,7 @@ protected ParenListExpr(void* native, bool skipVTables = false) public ParenListExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30004,7 +34953,7 @@ public ParenListExpr() public ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) _0.__Instance); @@ -30052,34 +35001,85 @@ public uint NumExprs public unsafe partial class GenericSelectionExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numAssocs; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal genericLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(96)] internal __IntPtr controllingExpr; + + [FieldOffset(104)] internal byte isResultDependent; + + [FieldOffset(108)] internal uint resultIndex; + + [FieldOffset(112)] internal __IntPtr resultExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20GenericSelectionExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30115,7 +35115,7 @@ internal static GenericSelectionExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30135,7 +35135,7 @@ protected GenericSelectionExpr(void* native, bool skipVTables = false) public GenericSelectionExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30144,7 +35144,7 @@ public GenericSelectionExpr() public GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) _0.__Instance); @@ -30259,31 +35259,76 @@ public uint ResultIndex public unsafe partial class ExtVectorElementExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal accessorLoc; + + [FieldOffset(92)] internal uint numElements; + + [FieldOffset(96)] internal byte containsDuplicateElements; + + [FieldOffset(97)] internal byte isArrow; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20ExtVectorElementExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30319,7 +35364,7 @@ internal static ExtVectorElementExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30339,7 +35384,7 @@ protected ExtVectorElementExpr(void* native, bool skipVTables = false) public ExtVectorElementExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30348,7 +35393,7 @@ public ExtVectorElementExpr() public ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) _0.__Instance); @@ -30423,28 +35468,67 @@ public bool IsArrow public unsafe partial class BlockExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal caretLocation; + + [FieldOffset(80)] internal __IntPtr body; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9BlockExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30480,7 +35564,7 @@ internal static BlockExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30500,7 +35584,7 @@ protected BlockExpr(void* native, bool skipVTables = false) public BlockExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30509,7 +35593,7 @@ public BlockExpr() public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BlockExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockExpr.__Internal*) _0.__Instance); @@ -30545,29 +35629,70 @@ public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) public unsafe partial class AsTypeExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr srcExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10AsTypeExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30603,7 +35728,7 @@ internal static AsTypeExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30623,7 +35748,7 @@ protected AsTypeExpr(void* native, bool skipVTables = false) public AsTypeExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30632,7 +35757,7 @@ public AsTypeExpr() public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) _0.__Instance); @@ -30681,30 +35806,73 @@ public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) public unsafe partial class PseudoObjectExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr syntacticForm; + + [FieldOffset(88)] internal uint resultExprIndex; + + [FieldOffset(96)] internal __IntPtr resultExpr; + + [FieldOffset(104)] internal uint numSemanticExprs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16PseudoObjectExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30740,7 +35908,7 @@ internal static PseudoObjectExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30760,7 +35928,7 @@ protected PseudoObjectExpr(void* native, bool skipVTables = false) public PseudoObjectExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30769,7 +35937,7 @@ public PseudoObjectExpr() public PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) _0.__Instance); @@ -30832,41 +36000,106 @@ public uint NumSemanticExprs public unsafe partial class AtomicExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 176)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr ptr; + + [FieldOffset(88)] internal __IntPtr order; + + [FieldOffset(96)] internal __IntPtr scope; + + [FieldOffset(104)] internal __IntPtr val1; + + [FieldOffset(112)] internal __IntPtr orderFail; + + [FieldOffset(120)] internal __IntPtr val2; + + [FieldOffset(128)] internal __IntPtr weak; + + [FieldOffset(136)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal valueType; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.AtomicExpr.AtomicOp op; + + [FieldOffset(156)] internal uint numSubExprs; + + [FieldOffset(160)] internal byte isVolatile; + + [FieldOffset(161)] internal byte isCmpXChg; + + [FieldOffset(162)] internal byte isOpenCL; + + [FieldOffset(164)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(168)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10AtomicExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30952,7 +36185,7 @@ internal static AtomicExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30972,7 +36205,7 @@ protected AtomicExpr(void* native, bool skipVTables = false) public AtomicExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30981,7 +36214,7 @@ public AtomicExpr() public AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) _0.__Instance); @@ -31194,26 +36427,61 @@ public bool IsOpenCL public unsafe partial class TypoExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8TypoExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31249,7 +36517,7 @@ internal static TypoExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -31269,7 +36537,7 @@ protected TypoExpr(void* native, bool skipVTables = false) public TypoExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31278,7 +36546,7 @@ public TypoExpr() public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) _0.__Instance); @@ -31287,39 +36555,100 @@ public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) public unsafe partial class CXXOperatorCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.OverloadedOperatorKind _operator; + + [FieldOffset(156)] internal byte isAssignmentOp; + + [FieldOffset(157)] internal byte isInfixBinaryOp; + + [FieldOffset(160)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31358,7 +36687,7 @@ internal static CXXOperatorCallExpr __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -31378,7 +36707,7 @@ protected CXXOperatorCallExpr(void* native, bool skipVTables = false) public CXXOperatorCallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31387,7 +36716,7 @@ public CXXOperatorCallExpr() public CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -31407,7 +36736,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -31466,37 +36795,94 @@ public bool IsInfixBinaryOp public unsafe partial class CXXMemberCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; + + [FieldOffset(152)] internal __IntPtr implicitObjectArgument; + + [FieldOffset(160)] internal __IntPtr methodDecl; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXMemberCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31535,7 +36921,7 @@ internal static CXXMemberCallExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -31555,7 +36941,7 @@ protected CXXMemberCallExpr(void* native, bool skipVTables = false) public CXXMemberCallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31564,7 +36950,7 @@ public CXXMemberCallExpr() public CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -31584,7 +36970,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -31619,36 +37005,91 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class CUDAKernelCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; + + [FieldOffset(152)] internal __IntPtr config; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31687,7 +37128,7 @@ internal static CUDAKernelCallExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -31707,7 +37148,7 @@ protected CUDAKernelCallExpr(void* native, bool skipVTables = false) public CUDAKernelCallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31716,7 +37157,7 @@ public CUDAKernelCallExpr() public CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -31736,7 +37177,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -31757,38 +37198,97 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class CXXNamedCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31828,7 +37328,7 @@ internal static CXXNamedCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -31848,7 +37348,7 @@ protected CXXNamedCastExpr(void* native, bool skipVTables = false) public CXXNamedCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31857,7 +37357,7 @@ public CXXNamedCastExpr() public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -31866,7 +37366,7 @@ public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) public CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) _0.__Instance); @@ -31948,38 +37448,97 @@ public string CastName public unsafe partial class CXXStaticCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXStaticCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32015,7 +37574,7 @@ internal static CXXStaticCastExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32035,7 +37594,7 @@ protected CXXStaticCastExpr(void* native, bool skipVTables = false) public CXXStaticCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32044,7 +37603,7 @@ public CXXStaticCastExpr() public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) _0.__Instance); @@ -32053,39 +37612,100 @@ public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) public unsafe partial class CXXDynamicCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [FieldOffset(160)] internal byte isAlwaysNull; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXDynamicCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32121,7 +37741,7 @@ internal static CXXDynamicCastExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32141,7 +37761,7 @@ protected CXXDynamicCastExpr(void* native, bool skipVTables = false) public CXXDynamicCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32150,7 +37770,7 @@ public CXXDynamicCastExpr() public CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) _0.__Instance); @@ -32172,38 +37792,97 @@ public bool IsAlwaysNull public unsafe partial class CXXReinterpretCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXReinterpretCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32239,7 +37918,7 @@ internal static CXXReinterpretCastExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32259,7 +37938,7 @@ protected CXXReinterpretCastExpr(void* native, bool skipVTables = false) public CXXReinterpretCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32268,7 +37947,7 @@ public CXXReinterpretCastExpr() public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) _0.__Instance); @@ -32277,38 +37956,97 @@ public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr public unsafe partial class CXXConstCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32344,7 +38082,7 @@ internal static CXXConstCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32364,7 +38102,7 @@ protected CXXConstCastExpr(void* native, bool skipVTables = false) public CXXConstCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32373,7 +38111,7 @@ public CXXConstCastExpr() public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) _0.__Instance); @@ -32382,38 +38120,97 @@ public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) public unsafe partial class UserDefinedLiteral : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 176)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind; + + [FieldOffset(160)] internal __IntPtr cookedLiteral; + + [FieldOffset(168)] internal global::CppSharp.Parser.SourceLocation.__Internal uDSuffixLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18UserDefinedLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32462,7 +38259,7 @@ internal static UserDefinedLiteral __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -32482,7 +38279,7 @@ protected UserDefinedLiteral(void* native, bool skipVTables = false) public UserDefinedLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32491,7 +38288,7 @@ public UserDefinedLiteral() public UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -32511,7 +38308,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -32558,28 +38355,67 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class CXXBoolLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte value; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXBoolLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32615,7 +38451,7 @@ internal static CXXBoolLiteralExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32635,7 +38471,7 @@ protected CXXBoolLiteralExpr(void* native, bool skipVTables = false) public CXXBoolLiteralExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32644,7 +38480,7 @@ public CXXBoolLiteralExpr() public CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) _0.__Instance); @@ -32679,27 +38515,64 @@ public bool Value public unsafe partial class CXXNullPtrLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21CXXNullPtrLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32735,7 +38608,7 @@ internal static CXXNullPtrLiteralExpr __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32755,7 +38628,7 @@ protected CXXNullPtrLiteralExpr(void* native, bool skipVTables = false) public CXXNullPtrLiteralExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32764,7 +38637,7 @@ public CXXNullPtrLiteralExpr() public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) _0.__Instance); @@ -32786,27 +38659,64 @@ public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _ public unsafe partial class CXXStdInitializerListExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25CXXStdInitializerListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32842,7 +38752,7 @@ internal static CXXStdInitializerListExpr __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32862,7 +38772,7 @@ protected CXXStdInitializerListExpr(void* native, bool skipVTables = false) public CXXStdInitializerListExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32871,7 +38781,7 @@ public CXXStdInitializerListExpr() public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) _0.__Instance); @@ -32894,29 +38804,70 @@ public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerLi public unsafe partial class CXXTypeidExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr exprOperand; + + [FieldOffset(88)] internal byte isPotentiallyEvaluated; + + [FieldOffset(89)] internal byte isTypeOperand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXTypeidExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32952,7 +38903,7 @@ internal static CXXTypeidExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32972,7 +38923,7 @@ protected CXXTypeidExpr(void* native, bool skipVTables = false) public CXXTypeidExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32981,7 +38932,7 @@ public CXXTypeidExpr() public CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) _0.__Instance); @@ -33030,30 +38981,73 @@ public bool IsTypeOperand public unsafe partial class MSPropertyRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isImplicitAccess; + + [FieldOffset(80)] internal __IntPtr baseExpr; + + [FieldOffset(88)] internal byte isArrow; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17MSPropertyRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33089,7 +39083,7 @@ internal static MSPropertyRefExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33109,7 +39103,7 @@ protected MSPropertyRefExpr(void* native, bool skipVTables = false) public MSPropertyRefExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33118,7 +39112,7 @@ public MSPropertyRefExpr() public MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) _0.__Instance); @@ -33180,29 +39174,70 @@ public bool IsArrow public unsafe partial class MSPropertySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal __IntPtr idx; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23MSPropertySubscriptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33238,7 +39273,7 @@ internal static MSPropertySubscriptExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33258,7 +39293,7 @@ protected MSPropertySubscriptExpr(void* native, bool skipVTables = false) public MSPropertySubscriptExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33267,7 +39302,7 @@ public MSPropertySubscriptExpr() public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) _0.__Instance); @@ -33317,29 +39352,70 @@ public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptEx public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr exprOperand; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C uuidStr; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C UuidStr; + + [FieldOffset(112)] internal byte isTypeOperand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33350,6 +39426,12 @@ public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, ID [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExprD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExpr10getUuidStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetUuidStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExpr10setUuidStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetUuidStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new CXXUuidofExpr __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -33378,7 +39460,7 @@ internal static CXXUuidofExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -33398,7 +39480,7 @@ protected CXXUuidofExpr(void* native, bool skipVTables = false) public CXXUuidofExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33407,7 +39489,7 @@ public CXXUuidofExpr() public CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -33427,7 +39509,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -33445,58 +39527,97 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) } } - public string UuidStr + public bool IsTypeOperand { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->uuidStr)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isTypeOperand != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->uuidStr), value); + ((__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); } } - public bool IsTypeOperand + public string UuidStr { get { - return ((__Internal*)__Instance)->isTypeOperand != 0; + var ___ret = __Internal.GetUuidStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + __Internal.SetUuidStr(__Instance, value); } } } public unsafe partial class CXXThisExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal byte @implicit; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CXXThisExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33532,7 +39653,7 @@ internal static CXXThisExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33552,7 +39673,7 @@ protected CXXThisExpr(void* native, bool skipVTables = false) public CXXThisExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33561,7 +39682,7 @@ public CXXThisExpr() public CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) _0.__Instance); @@ -33596,29 +39717,70 @@ public bool Implicit public unsafe partial class CXXThrowExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal throwLoc; + + [FieldOffset(92)] internal byte isThrownVariableInScope; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CXXThrowExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33654,7 +39816,7 @@ internal static CXXThrowExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33674,7 +39836,7 @@ protected CXXThrowExpr(void* native, bool skipVTables = false) public CXXThrowExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33683,7 +39845,7 @@ public CXXThrowExpr() public CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) _0.__Instance); @@ -33732,28 +39894,67 @@ public bool IsThrownVariableInScope public unsafe partial class CXXDefaultArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr expr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal usedLocation; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXDefaultArgExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33789,7 +39990,7 @@ internal static CXXDefaultArgExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33809,7 +40010,7 @@ protected CXXDefaultArgExpr(void* native, bool skipVTables = false) public CXXDefaultArgExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33818,7 +40019,7 @@ public CXXDefaultArgExpr() public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) _0.__Instance); @@ -33854,28 +40055,67 @@ public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) public unsafe partial class CXXDefaultInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr field; + + [FieldOffset(88)] internal __IntPtr expr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXDefaultInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33911,7 +40151,7 @@ internal static CXXDefaultInitExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33931,7 +40171,7 @@ protected CXXDefaultInitExpr(void* native, bool skipVTables = false) public CXXDefaultInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33940,7 +40180,7 @@ public CXXDefaultInitExpr() public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) _0.__Instance); @@ -33977,27 +40217,64 @@ public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) public unsafe partial class CXXBindTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20CXXBindTemporaryExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34033,7 +40310,7 @@ internal static CXXBindTemporaryExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -34053,7 +40330,7 @@ protected CXXBindTemporaryExpr(void* native, bool skipVTables = false) public CXXBindTemporaryExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34062,7 +40339,7 @@ public CXXBindTemporaryExpr() public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) _0.__Instance); @@ -34085,35 +40362,88 @@ public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(108)] internal byte elidable; + + [FieldOffset(109)] internal byte hadMultipleCandidates; + + [FieldOffset(110)] internal byte listInitialization; + + [FieldOffset(111)] internal byte stdInitListInitialization; + + [FieldOffset(112)] internal byte requiresZeroInitialization; + + [FieldOffset(116)] internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(124)] internal uint numArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstructExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34175,7 +40505,7 @@ internal static CXXConstructExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -34195,7 +40525,7 @@ protected CXXConstructExpr(void* native, bool skipVTables = false) public CXXConstructExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34204,7 +40534,7 @@ public CXXConstructExpr() public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -34213,7 +40543,7 @@ public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -34233,7 +40563,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -34381,29 +40711,70 @@ public uint GetargumentsCount public unsafe partial class CXXInheritedCtorInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte constructsVBase; + + [FieldOffset(74)] internal byte inheritedFromVBase; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXInheritedCtorInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34439,7 +40810,7 @@ internal static CXXInheritedCtorInitExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -34459,7 +40830,7 @@ protected CXXInheritedCtorInitExpr(void* native, bool skipVTables = false) public CXXInheritedCtorInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34468,7 +40839,7 @@ public CXXInheritedCtorInitExpr() public CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) _0.__Instance); @@ -34516,37 +40887,94 @@ public bool InheritedFromVBase public unsafe partial class CXXFunctionalCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(140)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(144)] internal byte isListInitialization; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21CXXFunctionalCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34582,7 +41010,7 @@ internal static CXXFunctionalCastExpr __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -34602,7 +41030,7 @@ protected CXXFunctionalCastExpr(void* native, bool skipVTables = false) public CXXFunctionalCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34611,7 +41039,7 @@ public CXXFunctionalCastExpr() public CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) _0.__Instance); @@ -34659,35 +41087,88 @@ public bool IsListInitialization public unsafe partial class CXXTemporaryObjectExpr : global::CppSharp.Parser.AST.CXXConstructExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(108)] internal byte elidable; + + [FieldOffset(109)] internal byte hadMultipleCandidates; + + [FieldOffset(110)] internal byte listInitialization; + + [FieldOffset(111)] internal byte stdInitListInitialization; + + [FieldOffset(112)] internal byte requiresZeroInitialization; + + [FieldOffset(116)] internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(124)] internal uint numArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34726,7 +41207,7 @@ internal static CXXTemporaryObjectExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -34746,7 +41227,7 @@ protected CXXTemporaryObjectExpr(void* native, bool skipVTables = false) public CXXTemporaryObjectExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34755,7 +41236,7 @@ public CXXTemporaryObjectExpr() public CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -34775,43 +41256,98 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class LambdaExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ capture_inits; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal captureDefaultLoc; + + [FieldOffset(108)] internal uint capture_size; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceRange.__Internal introducerRange; + + [FieldOffset(120)] internal __IntPtr callOperator; + + [FieldOffset(128)] internal byte isGenericLambda; + + [FieldOffset(136)] internal __IntPtr body; + + [FieldOffset(144)] internal byte isMutable; + + [FieldOffset(145)] internal byte hasExplicitParameters; + + [FieldOffset(146)] internal byte hasExplicitResultType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LambdaExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34862,7 +41398,7 @@ internal static LambdaExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.LambdaExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -34882,7 +41418,7 @@ protected LambdaExpr(void* native, bool skipVTables = false) public LambdaExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34891,7 +41427,7 @@ public LambdaExpr() public LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -34911,7 +41447,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -35069,27 +41605,64 @@ public uint GetcaptureInitsCount public unsafe partial class CXXScalarValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXScalarValueInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35125,7 +41698,7 @@ internal static CXXScalarValueInitExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -35145,7 +41718,7 @@ protected CXXScalarValueInitExpr(void* native, bool skipVTables = false) public CXXScalarValueInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35154,7 +41727,7 @@ public CXXScalarValueInitExpr() public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) _0.__Instance); @@ -35176,41 +41749,106 @@ public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr public unsafe partial class CXXNewExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 200)] + [StructLayout(LayoutKind.Explicit, Size = 200)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ placement_arguments; + + [FieldOffset(104)] internal __IntPtr operatorNew; + + [FieldOffset(112)] internal __IntPtr operatorDelete; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal allocatedType; + + [FieldOffset(136)] internal byte isArray; + + [FieldOffset(144)] internal __IntPtr arraySize; + + [FieldOffset(152)] internal uint numPlacementArgs; + + [FieldOffset(156)] internal byte isParenTypeId; + + [FieldOffset(160)] internal global::CppSharp.Parser.SourceRange.__Internal typeIdParens; + + [FieldOffset(168)] internal byte isGlobalNew; + + [FieldOffset(169)] internal byte hasInitializer; + + [FieldOffset(172)] internal global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle; + + [FieldOffset(176)] internal __IntPtr initializer; + + [FieldOffset(184)] internal __IntPtr constructExpr; + + [FieldOffset(192)] internal global::CppSharp.Parser.SourceRange.__Internal directInitRange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXNewExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35268,7 +41906,7 @@ internal static CXXNewExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXNewExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -35288,7 +41926,7 @@ protected CXXNewExpr(void* native, bool skipVTables = false) public CXXNewExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35297,7 +41935,7 @@ public CXXNewExpr() public CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -35317,7 +41955,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -35547,32 +42185,79 @@ public uint GetplacementArgumentsCount public unsafe partial class CXXDeleteExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isGlobalDelete; + + [FieldOffset(74)] internal byte isArrayForm; + + [FieldOffset(75)] internal byte isArrayFormAsWritten; + + [FieldOffset(80)] internal __IntPtr operatorDelete; + + [FieldOffset(88)] internal __IntPtr argument; + + [FieldOffset(96)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXDeleteExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35608,7 +42293,7 @@ internal static CXXDeleteExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -35628,7 +42313,7 @@ protected CXXDeleteExpr(void* native, bool skipVTables = false) public CXXDeleteExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35637,7 +42322,7 @@ public CXXDeleteExpr() public CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) _0.__Instance); @@ -35728,34 +42413,85 @@ public bool IsArrayFormAsWritten public unsafe partial class CXXPseudoDestructorExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal byte hasQualifier; + + [FieldOffset(89)] internal byte isArrow; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal colonColonLoc; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal tildeLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [FieldOffset(120)] internal global::CppSharp.Parser.SourceLocation.__Internal destroyedTypeLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23CXXPseudoDestructorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35791,7 +42527,7 @@ internal static CXXPseudoDestructorExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -35811,7 +42547,7 @@ protected CXXPseudoDestructorExpr(void* native, bool skipVTables = false) public CXXPseudoDestructorExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35820,7 +42556,7 @@ public CXXPseudoDestructorExpr() public CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) _0.__Instance); @@ -35936,28 +42672,67 @@ public bool IsArrow public unsafe partial class TypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte value; + + [FieldOffset(76)] internal uint numArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13TypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35993,7 +42768,7 @@ internal static TypeTraitExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36013,7 +42788,7 @@ protected TypeTraitExpr(void* native, bool skipVTables = false) public TypeTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36022,7 +42797,7 @@ public TypeTraitExpr() public TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) _0.__Instance); @@ -36057,29 +42832,70 @@ public uint NumArgs public unsafe partial class ArrayTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal queriedType; + + [FieldOffset(96)] internal ulong value; + + [FieldOffset(104)] internal __IntPtr dimensionExpression; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArrayTypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36115,7 +42931,7 @@ internal static ArrayTypeTraitExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36135,7 +42951,7 @@ protected ArrayTypeTraitExpr(void* native, bool skipVTables = false) public ArrayTypeTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36144,7 +42960,7 @@ public ArrayTypeTraitExpr() public ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) _0.__Instance); @@ -36195,28 +43011,67 @@ public ulong Value public unsafe partial class ExpressionTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr queriedExpression; + + [FieldOffset(88)] internal byte value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ExpressionTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36252,7 +43107,7 @@ internal static ExpressionTraitExpr __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36272,7 +43127,7 @@ protected ExpressionTraitExpr(void* native, bool skipVTables = false) public ExpressionTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36281,7 +43136,7 @@ public ExpressionTraitExpr() public ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) _0.__Instance); @@ -36317,34 +43172,85 @@ public bool Value public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numDecls; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(96)] internal byte hasTemplateKeyword; + + [FieldOffset(97)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(100)] internal uint numTemplateArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OverloadExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36359,7 +43265,7 @@ public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDi public unsafe partial class FindResult : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OverloadExpr10FindResultC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36413,7 +43319,7 @@ internal static FindResult __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36434,7 +43340,7 @@ protected FindResult(void* native, bool skipVTables = false) public FindResult() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36442,7 +43348,7 @@ public FindResult() public FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) _0.__Instance); @@ -36462,7 +43368,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -36493,7 +43399,7 @@ internal static OverloadExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36513,7 +43419,7 @@ protected OverloadExpr(void* native, bool skipVTables = false) public OverloadExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36522,7 +43428,7 @@ public OverloadExpr() public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -36531,7 +43437,7 @@ public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) public OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) _0.__Instance); @@ -36649,36 +43555,91 @@ public uint NumTemplateArgs public unsafe partial class UnresolvedLookupExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numDecls; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(96)] internal byte hasTemplateKeyword; + + [FieldOffset(97)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(100)] internal uint numTemplateArgs; + + [FieldOffset(104)] internal byte requiresADL; + + [FieldOffset(105)] internal byte isOverloaded; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20UnresolvedLookupExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36714,7 +43675,7 @@ internal static UnresolvedLookupExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36734,7 +43695,7 @@ protected UnresolvedLookupExpr(void* native, bool skipVTables = false) public UnresolvedLookupExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36743,7 +43704,7 @@ public UnresolvedLookupExpr() public UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) _0.__Instance); @@ -36778,33 +43739,82 @@ public bool IsOverloaded public unsafe partial class DependentScopeDeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(92)] internal byte hasTemplateKeyword; + + [FieldOffset(93)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(96)] internal uint numTemplateArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25DependentScopeDeclRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36840,7 +43850,7 @@ internal static DependentScopeDeclRefExpr __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36860,7 +43870,7 @@ protected DependentScopeDeclRefExpr(void* native, bool skipVTables = false) public DependentScopeDeclRefExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36869,7 +43879,7 @@ public DependentScopeDeclRefExpr() public DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) _0.__Instance); @@ -36969,29 +43979,70 @@ public uint NumTemplateArgs public unsafe partial class ExprWithCleanups : global::CppSharp.Parser.AST.FullExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal uint numObjects; + + [FieldOffset(92)] internal byte cleanupsHaveSideEffects; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ExprWithCleanupsC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37027,7 +44078,7 @@ internal static ExprWithCleanups __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37047,7 +44098,7 @@ protected ExprWithCleanups(void* native, bool skipVTables = false) public ExprWithCleanups() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37056,7 +44107,7 @@ public ExprWithCleanups() public ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) _0.__Instance); @@ -37091,32 +44142,79 @@ public bool CleanupsHaveSideEffects public unsafe partial class CXXUnresolvedConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ arguments; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(128)] internal byte isListInitialization; + + [FieldOffset(132)] internal uint arg_size; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37167,7 +44265,7 @@ internal static CXXUnresolvedConstructExpr __CreateInstance(__Internal native, b private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -37187,7 +44285,7 @@ protected CXXUnresolvedConstructExpr(void* native, bool skipVTables = false) public CXXUnresolvedConstructExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37196,7 +44294,7 @@ public CXXUnresolvedConstructExpr() public CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -37216,7 +44314,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -37320,39 +44418,100 @@ public uint GetargumentsCount public unsafe partial class CXXDependentScopeMemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isImplicitAccess; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(104)] internal byte isArrow; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(112)] internal __IntPtr firstQualifierFoundInScope; + + [FieldOffset(120)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(124)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(128)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(132)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(136)] internal byte hasTemplateKeyword; + + [FieldOffset(137)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(140)] internal uint numTemplateArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27CXXDependentScopeMemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37388,7 +44547,7 @@ internal static CXXDependentScopeMemberExpr __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37408,7 +44567,7 @@ protected CXXDependentScopeMemberExpr(void* native, bool skipVTables = false) public CXXDependentScopeMemberExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37417,7 +44576,7 @@ public CXXDependentScopeMemberExpr() public CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) _0.__Instance); @@ -37599,41 +44758,106 @@ public uint NumTemplateArgs public unsafe partial class UnresolvedMemberExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numDecls; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(96)] internal byte hasTemplateKeyword; + + [FieldOffset(97)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(100)] internal uint numTemplateArgs; + + [FieldOffset(104)] internal byte isImplicitAccess; + + [FieldOffset(112)] internal __IntPtr @base; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(136)] internal byte hasUnresolvedUsing; + + [FieldOffset(137)] internal byte isArrow; + + [FieldOffset(140)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20UnresolvedMemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37669,7 +44893,7 @@ internal static UnresolvedMemberExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37689,7 +44913,7 @@ protected UnresolvedMemberExpr(void* native, bool skipVTables = false) public UnresolvedMemberExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37698,7 +44922,7 @@ public UnresolvedMemberExpr() public UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) _0.__Instance); @@ -37801,28 +45025,67 @@ public bool IsArrow public unsafe partial class CXXNoexceptExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr operand; + + [FieldOffset(88)] internal byte value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15CXXNoexceptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37858,7 +45121,7 @@ internal static CXXNoexceptExpr __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37878,7 +45141,7 @@ protected CXXNoexceptExpr(void* native, bool skipVTables = false) public CXXNoexceptExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37887,7 +45150,7 @@ public CXXNoexceptExpr() public CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) _0.__Instance); @@ -37923,28 +45186,67 @@ public bool Value public unsafe partial class PackExpansionExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr pattern; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17PackExpansionExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37980,7 +45282,7 @@ internal static PackExpansionExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38000,7 +45302,7 @@ protected PackExpansionExpr(void* native, bool skipVTables = false) public PackExpansionExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38009,7 +45311,7 @@ public PackExpansionExpr() public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) _0.__Instance); @@ -38045,32 +45347,79 @@ public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) public unsafe partial class SizeOfPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal packLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(88)] internal __IntPtr pack; + + [FieldOffset(96)] internal uint packLength; + + [FieldOffset(100)] internal byte isPartiallySubstituted; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14SizeOfPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38106,7 +45455,7 @@ internal static SizeOfPackExpr __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38126,7 +45475,7 @@ protected SizeOfPackExpr(void* native, bool skipVTables = false) public SizeOfPackExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38135,7 +45484,7 @@ public SizeOfPackExpr() public SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) _0.__Instance); @@ -38223,28 +45572,67 @@ public bool IsPartiallySubstituted public unsafe partial class SubstNonTypeTemplateParmExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(80)] internal __IntPtr replacement; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST28SubstNonTypeTemplateParmExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38280,7 +45668,7 @@ internal static SubstNonTypeTemplateParmExpr __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38300,7 +45688,7 @@ protected SubstNonTypeTemplateParmExpr(void* native, bool skipVTables = false) public SubstNonTypeTemplateParmExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38309,7 +45697,7 @@ public SubstNonTypeTemplateParmExpr() public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) _0.__Instance); @@ -38345,28 +45733,67 @@ public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemp public unsafe partial class SubstNonTypeTemplateParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.TemplateArgument.__Internal argumentPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST32SubstNonTypeTemplateParmPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38402,7 +45829,7 @@ internal static SubstNonTypeTemplateParmPackExpr __CreateInstance(__Internal nat private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38422,7 +45849,7 @@ protected SubstNonTypeTemplateParmPackExpr(void* native, bool skipVTables = fals public SubstNonTypeTemplateParmPackExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38431,7 +45858,7 @@ public SubstNonTypeTemplateParmPackExpr() public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) _0.__Instance); @@ -38468,28 +45895,67 @@ public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonType public unsafe partial class FunctionParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(80)] internal uint numExpansions; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20FunctionParmPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38525,7 +45991,7 @@ internal static FunctionParmPackExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38545,7 +46011,7 @@ protected FunctionParmPackExpr(void* native, bool skipVTables = false) public FunctionParmPackExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38554,7 +46020,7 @@ public FunctionParmPackExpr() public FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) _0.__Instance); @@ -38589,30 +46055,73 @@ public uint NumExpansions public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr temporary; + + [FieldOffset(88)] internal __IntPtr TemporaryExpr; + + [FieldOffset(96)] internal uint manglingNumber; + + [FieldOffset(100)] internal byte isBoundToLvalueReference; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38624,7 +46133,7 @@ public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.A public unsafe partial class ExtraState : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExpr10ExtraStateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38678,7 +46187,7 @@ internal static ExtraState __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38699,7 +46208,7 @@ protected ExtraState(void* native, bool skipVTables = false) public ExtraState() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38707,7 +46216,7 @@ public ExtraState() public ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) _0.__Instance); @@ -38727,7 +46236,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -38758,7 +46267,7 @@ internal static MaterializeTemporaryExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38778,7 +46287,7 @@ protected MaterializeTemporaryExpr(void* native, bool skipVTables = false) public MaterializeTemporaryExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38787,7 +46296,7 @@ public MaterializeTemporaryExpr() public MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) _0.__Instance); @@ -38850,34 +46359,85 @@ public bool IsBoundToLvalueReference public unsafe partial class CXXFoldExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr lHS; + + [FieldOffset(88)] internal __IntPtr rHS; + + [FieldOffset(96)] internal byte isRightFold; + + [FieldOffset(97)] internal byte isLeftFold; + + [FieldOffset(104)] internal __IntPtr pattern; + + [FieldOffset(112)] internal __IntPtr init; + + [FieldOffset(120)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(124)] internal global::CppSharp.Parser.AST.BinaryOperatorKind _operator; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CXXFoldExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38913,7 +46473,7 @@ internal static CXXFoldExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38933,7 +46493,7 @@ protected CXXFoldExpr(void* native, bool skipVTables = false) public CXXFoldExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38942,7 +46502,7 @@ public CXXFoldExpr() public CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) _0.__Instance); @@ -39059,32 +46619,79 @@ public bool IsLeftFold public unsafe partial class CoroutineSuspendExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(80)] internal __IntPtr commonExpr; + + [FieldOffset(88)] internal __IntPtr opaqueValue; + + [FieldOffset(96)] internal __IntPtr readyExpr; + + [FieldOffset(104)] internal __IntPtr suspendExpr; + + [FieldOffset(112)] internal __IntPtr resumeExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39132,7 +46739,7 @@ internal static CoroutineSuspendExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39152,7 +46759,7 @@ protected CoroutineSuspendExpr(void* native, bool skipVTables = false) public CoroutineSuspendExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39161,7 +46768,7 @@ public CoroutineSuspendExpr() public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -39170,7 +46777,7 @@ public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) _0.__Instance); @@ -39267,34 +46874,85 @@ public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) public unsafe partial class CoawaitExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(80)] internal __IntPtr commonExpr; + + [FieldOffset(88)] internal __IntPtr opaqueValue; + + [FieldOffset(96)] internal __IntPtr readyExpr; + + [FieldOffset(104)] internal __IntPtr suspendExpr; + + [FieldOffset(112)] internal __IntPtr resumeExpr; + + [FieldOffset(120)] internal byte isImplicit; + + [FieldOffset(128)] internal __IntPtr operand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CoawaitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39330,7 +46988,7 @@ internal static CoawaitExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39350,7 +47008,7 @@ protected CoawaitExpr(void* native, bool skipVTables = false) public CoawaitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39359,7 +47017,7 @@ public CoawaitExpr() public CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) _0.__Instance); @@ -39395,29 +47053,70 @@ public bool IsImplicit public unsafe partial class DependentCoawaitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr operand; + + [FieldOffset(88)] internal __IntPtr operatorCoawaitLookup; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20DependentCoawaitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39453,7 +47152,7 @@ internal static DependentCoawaitExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39473,7 +47172,7 @@ protected DependentCoawaitExpr(void* native, bool skipVTables = false) public DependentCoawaitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39482,7 +47181,7 @@ public DependentCoawaitExpr() public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) _0.__Instance); @@ -39532,33 +47231,82 @@ public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) public unsafe partial class CoyieldExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(80)] internal __IntPtr commonExpr; + + [FieldOffset(88)] internal __IntPtr opaqueValue; + + [FieldOffset(96)] internal __IntPtr readyExpr; + + [FieldOffset(104)] internal __IntPtr suspendExpr; + + [FieldOffset(112)] internal __IntPtr resumeExpr; + + [FieldOffset(120)] internal __IntPtr operand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CoyieldExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39594,7 +47342,7 @@ internal static CoyieldExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39614,7 +47362,7 @@ protected CoyieldExpr(void* native, bool skipVTables = false) public CoyieldExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39623,7 +47371,7 @@ public CoyieldExpr() public CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) _0.__Instance); @@ -39668,49 +47416,130 @@ public enum ParserIntType public unsafe partial class ParserTargetInfo : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 184)] + [StructLayout(LayoutKind.Explicit, Size = 184)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C ABI; + + [FieldOffset(24)] internal global::CppSharp.Parser.ParserIntType char16Type; + + [FieldOffset(28)] internal global::CppSharp.Parser.ParserIntType char32Type; + + [FieldOffset(32)] internal global::CppSharp.Parser.ParserIntType int64Type; + + [FieldOffset(36)] internal global::CppSharp.Parser.ParserIntType intMaxType; + + [FieldOffset(40)] internal global::CppSharp.Parser.ParserIntType intPtrType; + + [FieldOffset(44)] internal global::CppSharp.Parser.ParserIntType sizeType; + + [FieldOffset(48)] internal global::CppSharp.Parser.ParserIntType uIntMaxType; + + [FieldOffset(52)] internal global::CppSharp.Parser.ParserIntType wCharType; + + [FieldOffset(56)] internal global::CppSharp.Parser.ParserIntType wIntType; + + [FieldOffset(60)] internal uint boolAlign; + + [FieldOffset(64)] internal uint boolWidth; + + [FieldOffset(68)] internal uint charAlign; + + [FieldOffset(72)] internal uint charWidth; + + [FieldOffset(76)] internal uint char16Align; + + [FieldOffset(80)] internal uint char16Width; + + [FieldOffset(84)] internal uint char32Align; + + [FieldOffset(88)] internal uint char32Width; + + [FieldOffset(92)] internal uint halfAlign; + + [FieldOffset(96)] internal uint halfWidth; + + [FieldOffset(100)] internal uint floatAlign; + + [FieldOffset(104)] internal uint floatWidth; + + [FieldOffset(108)] internal uint doubleAlign; + + [FieldOffset(112)] internal uint doubleWidth; + + [FieldOffset(116)] internal uint shortAlign; + + [FieldOffset(120)] internal uint shortWidth; + + [FieldOffset(124)] internal uint intAlign; + + [FieldOffset(128)] internal uint intWidth; + + [FieldOffset(132)] internal uint intMaxTWidth; + + [FieldOffset(136)] internal uint longAlign; + + [FieldOffset(140)] internal uint longWidth; + + [FieldOffset(144)] internal uint longDoubleAlign; + + [FieldOffset(148)] internal uint longDoubleWidth; + + [FieldOffset(152)] internal uint longLongAlign; + + [FieldOffset(156)] internal uint longLongWidth; + + [FieldOffset(160)] internal uint pointerAlign; + + [FieldOffset(164)] internal uint pointerWidth; + + [FieldOffset(168)] internal uint wCharAlign; + + [FieldOffset(172)] internal uint wCharWidth; + + [FieldOffset(176)] internal uint float128Align; + + [FieldOffset(180)] internal uint float128Width; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfoC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39721,6 +47550,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfoD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfo6getABIEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetABI(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfo6setABIEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetABI(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -39767,7 +47602,7 @@ internal static ParserTargetInfo __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.ParserTargetInfo.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -39788,7 +47623,7 @@ protected ParserTargetInfo(void* native, bool skipVTables = false) public ParserTargetInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39796,7 +47631,7 @@ public ParserTargetInfo() public ParserTargetInfo(global::CppSharp.Parser.ParserTargetInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -39821,24 +47656,10 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string ABI - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->ABI)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->ABI), value); - } - } - public global::CppSharp.Parser.ParserIntType Char16Type { get @@ -40358,6 +48179,20 @@ public uint Float128Width ((__Internal*)__Instance)->float128Width = value; } } + + public string ABI + { + get + { + var ___ret = __Internal.GetABI(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetABI(__Instance, value); + } + } } } } @@ -40441,7 +48276,7 @@ internal static Parser __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -40463,30 +48298,74 @@ protected Parser(void* native, bool skipVTables = false) public unsafe partial class CppParserOptions : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 288)] + [StructLayout(LayoutKind.Explicit, Size = 296)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(24)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ CompilationOptions; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C LibraryFile; + + [FieldOffset(72)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ SourceFiles; + + [FieldOffset(96)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ IncludeDirs; + + [FieldOffset(120)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ SystemIncludeDirs; + + [FieldOffset(144)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Defines; + + [FieldOffset(168)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Undefines; + + [FieldOffset(192)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ SupportedStdTypes; + + [FieldOffset(216)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ SupportedFunctionTemplates; + + [FieldOffset(240)] internal __IntPtr ASTContext; + + [FieldOffset(248)] internal int toolSetToUse; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C targetTriple; + + [FieldOffset(256)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C TargetTriple; + + [FieldOffset(280)] + internal global::CppSharp.Parser.AST.CppAbi abi; + + [FieldOffset(284)] internal byte noStandardIncludes; + + [FieldOffset(285)] internal byte noBuiltinIncludes; + + [FieldOffset(286)] internal byte microsoftMode; + + [FieldOffset(287)] internal byte verbose; + + [FieldOffset(288)] internal byte unityBuild; + + [FieldOffset(289)] internal byte skipPrivateDeclarations; + + [FieldOffset(290)] internal byte skipLayoutInfo; + + [FieldOffset(291)] internal byte skipFunctionBodies; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C clangVersion; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptionsC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -40579,7 +48458,7 @@ public partial struct __Internal internal static extern void ClearSupportedFunctionTemplates(__IntPtr __instance); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15getClangVersionEv", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void GetClangVersion(__IntPtr @return, __IntPtr __instance); + internal static extern __IntPtr GetClangVersion(); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetArgumentsCount(__IntPtr __instance); @@ -40587,6 +48466,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions26getCompilationOptionsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetCompilationOptionsCount(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14getLibraryFileEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetLibraryFile(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14setLibraryFileEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetLibraryFile(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions19getSourceFilesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSourceFilesCount(__IntPtr __instance); @@ -40607,6 +48492,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions34getSupportedFunctionTemplatesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSupportedFunctionTemplatesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15getTargetTripleEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTargetTriple(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15setTargetTripleEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTargetTriple(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -40653,7 +48544,7 @@ internal static CppParserOptions __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.CppParserOptions.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -40674,7 +48565,7 @@ protected CppParserOptions(void* native, bool skipVTables = false) public CppParserOptions() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppParserOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppParserOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -40682,7 +48573,7 @@ public CppParserOptions() public CppParserOptions(global::CppSharp.Parser.CppParserOptions _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppParserOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppParserOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -40707,7 +48598,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -40882,17 +48773,16 @@ public int ToolSetToUse } } - public string TargetTriple + public global::CppSharp.Parser.AST.CppAbi Abi { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->targetTriple)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->abi; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->targetTriple), value); + ((__Internal*)__Instance)->abi = value; } } @@ -41000,16 +48890,12 @@ public bool SkipFunctionBodies } } - public string ClangVersion + public static string ClangVersion { get { - var ___ret = new global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(); - __Internal.GetClangVersion(new IntPtr(&___ret), __Instance); - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&___ret)); - var __retString0 = global::Std.BasicStringExtensions.Data(__basicStringRet0); - __basicStringRet0.Dispose(); - return __retString0; + var ___ret = __Internal.GetClangVersion(); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } } @@ -41031,6 +48917,20 @@ public uint CompilationOptionsCount } } + public string LibraryFile + { + get + { + var ___ret = __Internal.GetLibraryFile(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetLibraryFile(__Instance, value); + } + } + public uint SourceFilesCount { get @@ -41093,15 +48993,34 @@ public uint SupportedFunctionTemplatesCount return ___ret; } } + + public string TargetTriple + { + get + { + var ___ret = __Internal.GetTargetTriple(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetTargetTriple(__Instance, value); + } + } } public unsafe partial class CppLinkerOptions : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Arguments; + + [FieldOffset(24)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ LibraryDirs; + + [FieldOffset(48)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ Libraries; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptionsC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -41194,7 +49113,7 @@ internal static CppLinkerOptions __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.CppLinkerOptions.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -41215,7 +49134,7 @@ protected CppLinkerOptions(void* native, bool skipVTables = false) public CppLinkerOptions() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -41223,7 +49142,7 @@ public CppLinkerOptions() public CppLinkerOptions(global::CppSharp.Parser.CppLinkerOptions _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -41248,7 +49167,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -41330,13 +49249,22 @@ public uint LibrariesCount public unsafe partial class ParserDiagnostic : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public partial struct __Internal { - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C fileName; - internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C message; + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C FileName; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C Message; + + [FieldOffset(48)] internal global::CppSharp.Parser.ParserDiagnosticLevel level; + + [FieldOffset(52)] internal int lineNumber; + + [FieldOffset(56)] internal int columnNumber; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnosticC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -41347,6 +49275,18 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnosticD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic11getFileNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFileName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic11setFileNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetFileName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic10getMessageEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMessage(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic10setMessageEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMessage(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -41393,7 +49333,7 @@ internal static ParserDiagnostic __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.ParserDiagnostic.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -41414,7 +49354,7 @@ protected ParserDiagnostic(void* native, bool skipVTables = false) public ParserDiagnostic() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -41422,7 +49362,7 @@ public ParserDiagnostic() public ParserDiagnostic(global::CppSharp.Parser.ParserDiagnostic _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -41447,86 +49387,93 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string FileName + public global::CppSharp.Parser.ParserDiagnosticLevel Level { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->level; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + ((__Internal*)__Instance)->level = value; } } - public string Message + public int LineNumber { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->message)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->lineNumber; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->message), value); + ((__Internal*)__Instance)->lineNumber = value; } } - public global::CppSharp.Parser.ParserDiagnosticLevel Level + public int ColumnNumber { get { - return ((__Internal*)__Instance)->level; + return ((__Internal*)__Instance)->columnNumber; } set { - ((__Internal*)__Instance)->level = value; + ((__Internal*)__Instance)->columnNumber = value; } } - public int LineNumber + public string FileName { get { - return ((__Internal*)__Instance)->lineNumber; + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->lineNumber = value; + __Internal.SetFileName(__Instance, value); } } - public int ColumnNumber + public string Message { get { - return ((__Internal*)__Instance)->columnNumber; + var ___ret = __Internal.GetMessage(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->columnNumber = value; + __Internal.SetMessage(__Instance, value); } } } public unsafe partial class ParserResult : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.ParserResultKind kind; + + [FieldOffset(8)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_N___1_S_allocator__S0_ Diagnostics; + + [FieldOffset(32)] internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_NativeLibrary___N_std_N___1_S_allocator__S0_ Libraries; + + [FieldOffset(56)] internal __IntPtr targetInfo; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResultC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -41607,7 +49554,7 @@ internal static ParserResult __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.ParserResult.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -41628,7 +49575,7 @@ protected ParserResult(void* native, bool skipVTables = false) public ParserResult() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -41636,7 +49583,7 @@ public ParserResult() public ParserResult(global::CppSharp.Parser.ParserResult _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -41661,7 +49608,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -41756,7 +49703,7 @@ public uint LibrariesCount public unsafe partial class ClangParser : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParserC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] @@ -41768,14 +49715,14 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser12ParseLibraryEPNS0_16CppLinkerOptionsE", CallingConvention = __CallingConvention.Cdecl)] internal static extern __IntPtr ParseLibrary(__IntPtr Opts); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser5BuildEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsERKNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEb", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr Build(__IntPtr Opts, __IntPtr LinkerOptions, __IntPtr File, bool Last); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser5BuildEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsEPKcb", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Build(__IntPtr Opts, __IntPtr LinkerOptions, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File, bool Last); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser7CompileEPNS0_16CppParserOptionsERKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr Compile(__IntPtr Opts, __IntPtr File); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser7CompileEPNS0_16CppParserOptionsEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Compile(__IntPtr Opts, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser4LinkEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsERKNSt3__112basic_stringIcNS7_11char_traitsIcEENS7_9allocatorIcEEEEb", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr Link(__IntPtr Opts, __IntPtr LinkerOptions, __IntPtr File, bool Last); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser4LinkEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsEPKcb", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Link(__IntPtr Opts, __IntPtr LinkerOptions, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File, bool Last); } public __IntPtr __Instance { get; protected set; } @@ -41822,7 +49769,7 @@ internal static ClangParser __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -41843,14 +49790,14 @@ protected ClangParser(void* native, bool skipVTables = false) public ClangParser() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ClangParser.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ClangParser.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } public ClangParser(global::CppSharp.Parser.ClangParser _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ClangParser.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ClangParser.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.ClangParser.__Internal*) __Instance) = *((global::CppSharp.Parser.ClangParser.__Internal*) _0.__Instance); @@ -41870,7 +49817,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -41894,11 +49841,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) { var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; var __arg1 = LinkerOptions is null ? __IntPtr.Zero : LinkerOptions.__Instance; - var __basicString2 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString2, File); - var __arg2 = __basicString2.__Instance; - var ___ret = __Internal.Build(__arg0, __arg1, __arg2, Last); - __basicString2.Dispose(); + var ___ret = __Internal.Build(__arg0, __arg1, File, Last); var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); return __result0; } @@ -41906,11 +49849,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public static global::CppSharp.Parser.ParserResult Compile(global::CppSharp.Parser.CppParserOptions Opts, string File) { var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; - var __basicString1 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString1, File); - var __arg1 = __basicString1.__Instance; - var ___ret = __Internal.Compile(__arg0, __arg1); - __basicString1.Dispose(); + var ___ret = __Internal.Compile(__arg0, File); var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); return __result0; } @@ -41919,11 +49858,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) { var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; var __arg1 = LinkerOptions is null ? __IntPtr.Zero : LinkerOptions.__Instance; - var __basicString2 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString2, File); - var __arg2 = __basicString2.__Instance; - var ___ret = __Internal.Link(__arg0, __arg1, __arg2, Last); - __basicString2.Dispose(); + var ___ret = __Internal.Link(__arg0, __arg1, File, Last); var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); return __result0; } @@ -41935,243 +49870,283 @@ namespace Std { namespace CompressedPair { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_NativeLibrary___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] - public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair__l___N_std_N___1_S___map_value_compare____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_U___value_type__S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S1__Vb1 + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair__l___N_std_N___1_S___map_value_compare____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S___value_type__S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S1__Vb1 { + [FieldOffset(0)] internal ulong __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] - public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S___tree_end_node_____N_std_N___1_S___tree_node_base___v___N_std_N___1_S_allocator____N_std_N___1_S___tree_node____N_std_N___1_U___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration_S3_ + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S___tree_end_node_____N_std_N___1_S___tree_node_base___v___N_std_N___1_S_allocator____N_std_N___1_S___tree_node____N_std_N___1_S___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration_S3_ { + [FieldOffset(0)] internal global::Std.TreeEndNode.__Internal_Ptr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S1_ { + [FieldOffset(0)] internal __IntPtr __value_; } } @@ -42181,307 +50156,497 @@ namespace Std { namespace Vector { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_NativeLibrary___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_NativeLibrary___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Method___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Field___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_allocator__S1_ __end_cap_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_; + + [FieldOffset(8)] internal __IntPtr __end_; + + [FieldOffset(16)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair______N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_N___1_S_allocator__S1_ __end_cap_; } } @@ -42491,12 +50656,17 @@ namespace Std { namespace Tree { - [StructLayout(LayoutKind.Sequential, Size = 24)] - public unsafe partial struct __Internalc__N_std_N___1_S___tree____N_std_N___1_U___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S___map_value_compare__S1__S0____N_std_N___1_S_less__S1__Vb1___N_std_N___1_S_allocator__S0_ + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S___tree____N_std_N___1_S___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S___map_value_compare__S1__S0____N_std_N___1_S_less__S1__Vb1___N_std_N___1_S_allocator__S0_ { + [FieldOffset(0)] internal __IntPtr __begin_node_; - internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S___tree_end_node_____N_std_N___1_S___tree_node_base___v___N_std_N___1_S_allocator____N_std_N___1_S___tree_node____N_std_N___1_U___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration_S3_ __pair1_; - internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair__l___N_std_N___1_S___map_value_compare____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_U___value_type__S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S1__Vb1 __pair3_; + + [FieldOffset(8)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S___tree_end_node_____N_std_N___1_S___tree_node_base___v___N_std_N___1_S_allocator____N_std_N___1_S___tree_node____N_std_N___1_S___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration_S3_ __pair1_; + + [FieldOffset(16)] + internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair__l___N_std_N___1_S___map_value_compare____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S___value_type__S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S1__Vb1 __pair3_; } } @@ -42505,10 +50675,11 @@ namespace Std { namespace Map { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_map____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S0____N_std_N___1_S_allocator____N_std_N___1_S_pair__1S0__S3_ { - internal global::Std.Tree.__Internalc__N_std_N___1_S___tree____N_std_N___1_U___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S___map_value_compare__S1__S0____N_std_N___1_S_less__S1__Vb1___N_std_N___1_S_allocator__S0_ __tree_; + [FieldOffset(0)] + internal global::Std.Tree.__Internalc__N_std_N___1_S___tree____N_std_N___1_S___value_type____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S___map_value_compare__S1__S0____N_std_N___1_S_less__S1__Vb1___N_std_N___1_S_allocator__S0_ __tree_; } } } diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.dll-templates.cpp b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin/CppSharp.CppParser.dll-templates.cpp similarity index 100% rename from src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/CppSharp.CppParser.dll-templates.cpp rename to src/CppParser/Bindings/CSharp/x86_64-apple-darwin/CppSharp.CppParser.dll-templates.cpp diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin/Std-symbols.cpp b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin/Std-symbols.cpp new file mode 100644 index 0000000000..c4b4b67673 --- /dev/null +++ b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin/Std-symbols.cpp @@ -0,0 +1,12 @@ +#define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS +#define _LIBCPP_HIDE_FROM_ABI +#define _LIBCPP_NO_ABI_TAG + +#include +#include + +template std::allocator::allocator() noexcept; +template std::basic_string, std::allocator>::basic_string() noexcept(true); +template std::basic_string, std::allocator>::~basic_string() noexcept; +template std::basic_string, std::allocator>& std::basic_string, std::allocator>::assign(const char*); +template const char* std::basic_string, std::allocator>::data() const noexcept; diff --git a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin/Std.cs similarity index 85% rename from src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs rename to src/CppParser/Bindings/CSharp/x86_64-apple-darwin/Std.cs index 3f7910977c..4bab56270e 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-apple-darwin/Std.cs @@ -8,6 +8,7 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; +using __NativeMemory = global::System.Runtime.InteropServices.NativeMemory; using __CallingConvention = global::System.Runtime.InteropServices.CallingConvention; using __IntPtr = global::System.IntPtr; @@ -36,50 +37,47 @@ namespace Std namespace Std { - namespace CompressedPair - { - [StructLayout(LayoutKind.Sequential, Size = 24)] - public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C_S___rep_S2_ - { - internal global::Std.BasicString.Rep.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C __value_; - } +} - [StructLayout(LayoutKind.Sequential, Size = 8)] - public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S1_ - { - internal __IntPtr __value_; - } +namespace Std +{ +} - [StructLayout(LayoutKind.Sequential, Size = 8)] - public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair___i___N_std_N___1_S_allocator__i - { - internal __IntPtr __value_; - } - } +namespace Std +{ +} - namespace Allocator +namespace Std +{ +} + +namespace Std +{ +} + +namespace Std +{ + namespace CharTraits { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public unsafe partial struct __Internal { - [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__19allocatorIcEC2Ev", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctorc__N_std_N___1_S_allocator__C(__IntPtr __instance); } } - public unsafe partial class Allocator<_Tp> : IDisposable + public unsafe partial class CharTraits<_CharT> : IDisposable { public __IntPtr __Instance { get; protected set; } - internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary> NativeToManagedMap = - new global::System.Collections.Concurrent.ConcurrentDictionary>(); + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary> NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary>(); - internal static void __RecordNativeToManagedMapping(IntPtr native, global::Std.Allocator<_Tp> managed) + internal static void __RecordNativeToManagedMapping(IntPtr native, global::Std.CharTraits<_CharT> managed) { NativeToManagedMap[native] = managed; } - internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::Std.Allocator<_Tp> managed) + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::Std.CharTraits<_CharT> managed) { return NativeToManagedMap.TryGetValue(native, out managed); @@ -87,65 +85,51 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::S protected bool __ownsNativeInstance; - internal static Allocator<_Tp> __CreateInstance(__IntPtr native, bool skipVTables = false) + internal static CharTraits<_CharT> __CreateInstance(__IntPtr native, bool skipVTables = false) { if (native == __IntPtr.Zero) return null; - return new Allocator<_Tp>(native.ToPointer(), skipVTables); + return new CharTraits<_CharT>(native.ToPointer(), skipVTables); } - internal static Allocator<_Tp> __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + internal static CharTraits<_CharT> __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) { if (native == __IntPtr.Zero) return null; if (__TryGetNativeToManagedMapping(native, out var managed)) - return (Allocator<_Tp>)managed; + return (CharTraits<_CharT>)managed; var result = __CreateInstance(native, skipVTables); if (saveInstance) __RecordNativeToManagedMapping(native, result); return result; } - internal static Allocator<_Tp> __CreateInstance(global::Std.Allocator.__Internal native, bool skipVTables = false) + internal static CharTraits<_CharT> __CreateInstance(global::Std.CharTraits.__Internal native, bool skipVTables = false) { - return new Allocator<_Tp>(native, skipVTables); + return new CharTraits<_CharT>(native, skipVTables); } - private static void* __CopyValue(global::Std.Allocator.__Internal native) + private static void* __CopyValue(global::Std.CharTraits.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::Std.Allocator.__Internal)); - *(global::Std.Allocator.__Internal*) ret = native; + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.CharTraits.__Internal), 16); + *(global::Std.CharTraits.__Internal*) ret = native; return ret.ToPointer(); } - private Allocator(global::Std.Allocator.__Internal native, bool skipVTables = false) + private CharTraits(global::Std.CharTraits.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } - protected Allocator(void* native, bool skipVTables = false) + protected CharTraits(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new __IntPtr(native); } - public Allocator() - { - var ___Tp = typeof(_Tp); - if (___Tp.IsAssignableFrom(typeof(sbyte))) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::Std.Allocator.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - global::Std.Allocator.__Internal.ctorc__N_std_N___1_S_allocator__C(__Instance); - return; - } - throw new ArgumentOutOfRangeException("_Tp", string.Join(", ", new[] { typeof(_Tp).FullName }), "global::Std.Allocator<_Tp> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: ."); - } - public void Dispose() { Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); @@ -160,7 +144,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -168,65 +152,68 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) namespace Std { - namespace Vector +} + +namespace Std +{ +} + +namespace Std +{ +} + +namespace Std +{ + namespace CompressedPair { - [StructLayout(LayoutKind.Sequential, Size = 24)] - public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S0_ + [StructLayout(LayoutKind.Explicit, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C_S___rep_S2_ { - internal __IntPtr __begin_; - internal __IntPtr __end_; - internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair_____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S1_ __end_cap_; + [FieldOffset(0)] + internal global::Std.BasicString.Rep.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C __value_; } - [StructLayout(LayoutKind.Sequential, Size = 24)] - public unsafe partial struct __Internalc__N_std_N___1_S_vector__i___N_std_N___1_S_allocator__i + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair_____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C___N_std_N___1_S_allocator__S1_ { - internal __IntPtr __begin_; - internal __IntPtr __end_; - internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair___i___N_std_N___1_S_allocator__i __end_cap_; + [FieldOffset(0)] + internal __IntPtr __value_; } - } -} -namespace Std -{ - namespace TreeEndNode - { - [StructLayout(LayoutKind.Sequential, Size = 8)] - public unsafe partial struct __Internal_Ptr + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair___i___N_std_N___1_S_allocator__i { - internal __IntPtr __left_; + [FieldOffset(0)] + internal __IntPtr __value_; } } } namespace Std { -} - -namespace Std -{ - namespace CharTraits + namespace Allocator { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public unsafe partial struct __Internal { + [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__19allocatorIcEC2B8un170006Ev", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void ctorc__N_std_N___1_S_allocator__C(__IntPtr __instance); } } - public unsafe partial class CharTraits<_CharT> : IDisposable + public unsafe partial class Allocator<_Tp> : IDisposable { public __IntPtr __Instance { get; protected set; } - internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary> NativeToManagedMap = - new global::System.Collections.Concurrent.ConcurrentDictionary>(); + internal static readonly new global::System.Collections.Concurrent.ConcurrentDictionary> NativeToManagedMap = + new global::System.Collections.Concurrent.ConcurrentDictionary>(); - internal static void __RecordNativeToManagedMapping(IntPtr native, global::Std.CharTraits<_CharT> managed) + internal static void __RecordNativeToManagedMapping(IntPtr native, global::Std.Allocator<_Tp> managed) { NativeToManagedMap[native] = managed; } - internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::Std.CharTraits<_CharT> managed) + internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::Std.Allocator<_Tp> managed) { return NativeToManagedMap.TryGetValue(native, out managed); @@ -234,51 +221,65 @@ internal static bool __TryGetNativeToManagedMapping(IntPtr native, out global::S protected bool __ownsNativeInstance; - internal static CharTraits<_CharT> __CreateInstance(__IntPtr native, bool skipVTables = false) + internal static Allocator<_Tp> __CreateInstance(__IntPtr native, bool skipVTables = false) { if (native == __IntPtr.Zero) return null; - return new CharTraits<_CharT>(native.ToPointer(), skipVTables); + return new Allocator<_Tp>(native.ToPointer(), skipVTables); } - internal static CharTraits<_CharT> __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) + internal static Allocator<_Tp> __GetOrCreateInstance(__IntPtr native, bool saveInstance = false, bool skipVTables = false) { if (native == __IntPtr.Zero) return null; if (__TryGetNativeToManagedMapping(native, out var managed)) - return (CharTraits<_CharT>)managed; + return (Allocator<_Tp>)managed; var result = __CreateInstance(native, skipVTables); if (saveInstance) __RecordNativeToManagedMapping(native, result); return result; } - internal static CharTraits<_CharT> __CreateInstance(global::Std.CharTraits.__Internal native, bool skipVTables = false) + internal static Allocator<_Tp> __CreateInstance(global::Std.Allocator.__Internal native, bool skipVTables = false) { - return new CharTraits<_CharT>(native, skipVTables); + return new Allocator<_Tp>(native, skipVTables); } - private static void* __CopyValue(global::Std.CharTraits.__Internal native) + private static void* __CopyValue(global::Std.Allocator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::Std.CharTraits.__Internal)); - *(global::Std.CharTraits.__Internal*) ret = native; + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.Allocator.__Internal), 16); + *(global::Std.Allocator.__Internal*) ret = native; return ret.ToPointer(); } - private CharTraits(global::Std.CharTraits.__Internal native, bool skipVTables = false) + private Allocator(global::Std.Allocator.__Internal native, bool skipVTables = false) : this(__CopyValue(native), skipVTables) { __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } - protected CharTraits(void* native, bool skipVTables = false) + protected Allocator(void* native, bool skipVTables = false) { if (native == null) return; __Instance = new __IntPtr(native); } + public Allocator() + { + var ___Tp = typeof(_Tp); + if (___Tp.IsAssignableFrom(typeof(sbyte))) + { + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.Allocator.__Internal), 16); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + global::Std.Allocator.__Internal.ctorc__N_std_N___1_S_allocator__C(__Instance); + return; + } + throw new ArgumentOutOfRangeException("_Tp", string.Join(", ", new[] { typeof(_Tp).FullName }), "global::Std.Allocator<_Tp> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: ."); + } + public void Dispose() { Dispose(disposing: true, callNativeDtor: __ownsNativeInstance); @@ -293,7 +294,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -303,16 +304,20 @@ namespace Std { namespace BasicString { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C { + [FieldOffset(0)] internal global::Std.CompressedPair.__Internalc__N_std_N___1_S___compressed_pair____N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C_S___rep_S2_ __r_; - [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2Ev", CallingConvention = __CallingConvention.Cdecl)] + [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2B8un170006Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(__IntPtr __instance); [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Assignc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string __s); } namespace Rep @@ -351,14 +356,36 @@ public unsafe partial struct __Internal namespace Long { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internal { + [FieldOffset(0)] + internal ulong __is_long_; + + [FieldOffset(0)] internal ulong __cap_; + + [FieldOffset(8)] internal ulong __size_; + + [FieldOffset(16)] internal __IntPtr __data_; } + namespace _0 + { + [StructLayout(LayoutKind.Explicit, Size = 8)] + public unsafe partial struct __Internal + { + [FieldOffset(0)] + internal ulong __is_long_; + + [FieldOffset(0)] + internal ulong __cap_; + } + + } + } namespace Short @@ -367,10 +394,13 @@ namespace Short public unsafe partial struct __Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C { [FieldOffset(0)] - internal byte __size_; + internal byte __is_long_; [FieldOffset(0)] - internal sbyte __lx; + internal byte __size_; + + [FieldOffset(1)] + internal __IntPtr __padding_; [FieldOffset(1)] internal fixed sbyte __data_[23]; @@ -382,10 +412,10 @@ namespace _0 public unsafe partial struct __Internal { [FieldOffset(0)] - internal byte __size_; + internal byte __is_long_; [FieldOffset(0)] - internal sbyte __lx; + internal byte __size_; } } @@ -394,9 +424,10 @@ public unsafe partial struct __Internal namespace Raw { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internal { + [FieldOffset(0)] internal fixed ulong __words[3]; } } @@ -449,7 +480,7 @@ internal static BasicString<_CharT, _Traits, _Allocator> __CreateInstance(global private static void* __CopyValue(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C native) { - var ret = Marshal.AllocHGlobal(sizeof(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C), 16); *(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C*) ret = native; return ret.ToPointer(); } @@ -475,7 +506,7 @@ public BasicString() var ___Allocator = typeof(_Allocator); if (___CharT.IsAssignableFrom(typeof(sbyte)) && ___Traits.IsAssignableFrom(typeof(global::Std.CharTraits)) && ___Allocator.IsAssignableFrom(typeof(global::Std.Allocator))) { - __Instance = Marshal.AllocHGlobal(sizeof(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); global::Std.BasicString.__Internalc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C.ctorc__N_std_N___1_S_basic_string__C___N_std_N___1_S_char_traits__C___N_std_N___1_S_allocator__C(__Instance); @@ -510,7 +541,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) throw new ArgumentOutOfRangeException("_CharT, _Traits, _Allocator", string.Join(", ", new[] { typeof(_CharT).FullName, typeof(_Traits).FullName, typeof(_Allocator).FullName }), "global::Std.BasicString<_CharT, _Traits, _Allocator> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: , global::Std.Allocator>."); } if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -519,21 +550,10 @@ public unsafe static partial class BasicStringExtensions { public partial struct __Internal { - [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr Assign(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string __s); - - [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataEv", CallingConvention = __CallingConvention.Cdecl)] + [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNKSt3__112basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE4dataB8un170006Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern __IntPtr Data(__IntPtr __instance); } - public static global::Std.BasicString, global::Std.Allocator> Assign(this global::Std.BasicString, global::Std.Allocator> @this, string __s) - { - var __arg0 = @this is null ? __IntPtr.Zero : @this.__Instance; - var ___ret = __Internal.Assign(__arg0, __s); - var __result0 = global::Std.BasicString, global::Std.Allocator>.__GetOrCreateInstance(___ret, false); - return __result0; - } - public static string Data(this global::Std.BasicString, global::Std.Allocator> @this) { var __arg0 = @this is null ? __IntPtr.Zero : @this.__Instance; @@ -542,3 +562,52 @@ public static string Data(this global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->archType; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + ((__Internal*)__Instance)->archType = value; } } - public global::CppSharp.Parser.AST.ArchType ArchType + public string FileName { get { - return ((__Internal*)__Instance)->archType; + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->archType = value; + __Internal.SetFileName(__Instance, value); } } @@ -286,9 +300,10 @@ public uint DependenciesCount public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -342,7 +357,7 @@ internal static Comment __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -363,7 +378,7 @@ protected Comment(void* native, bool skipVTables = false) public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Comment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -371,7 +386,7 @@ public Comment(global::CppSharp.Parser.AST.CommentKind kind) public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Comment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); @@ -391,7 +406,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -416,9 +431,10 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -457,7 +473,7 @@ internal static BlockContentComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -477,7 +493,7 @@ protected BlockContentComment(void* native, bool skipVTables = false) public BlockContentComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -486,7 +502,7 @@ public BlockContentComment() public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -495,7 +511,7 @@ public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); @@ -509,10 +525,13 @@ public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(8)] internal global::Std.Vector.__Internal Blocks; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11FullCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -563,7 +582,7 @@ internal static FullComment __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -583,7 +602,7 @@ protected FullComment(void* native, bool skipVTables = false) public FullComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -592,7 +611,7 @@ public FullComment() public FullComment(global::CppSharp.Parser.AST.FullComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -612,7 +631,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -649,10 +668,13 @@ public uint BlocksCount public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineContentCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -691,7 +713,7 @@ internal static InlineContentComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -711,7 +733,7 @@ protected InlineContentComment(void* native, bool skipVTables = false) public InlineContentComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -720,7 +742,7 @@ public InlineContentComment() public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -729,7 +751,7 @@ public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); @@ -756,11 +778,16 @@ public bool HasTrailingNewline public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte isWhitespace; + + [FieldOffset(8)] internal global::Std.Vector.__Internal Content; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ParagraphCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -811,7 +838,7 @@ internal static ParagraphComment __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -831,7 +858,7 @@ protected ParagraphComment(void* native, bool skipVTables = false) public ParagraphComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -840,7 +867,7 @@ public ParagraphComment() public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -860,7 +887,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -910,12 +937,19 @@ public uint ContentCount public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internal Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -945,10 +979,11 @@ public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.Bl public unsafe partial class Argument : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public partial struct __Internal { - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -958,6 +993,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8Argument7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8Argument7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -1004,7 +1045,7 @@ internal static Argument __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1025,7 +1066,7 @@ protected Argument(void* native, bool skipVTables = false) public Argument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1033,7 +1074,7 @@ public Argument() public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1058,7 +1099,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1066,13 +1107,13 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } @@ -1103,7 +1144,7 @@ internal static BlockCommandComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1123,7 +1164,7 @@ protected BlockCommandComment(void* native, bool skipVTables = false) public BlockCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1132,7 +1173,7 @@ public BlockCommandComment() public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -1141,7 +1182,7 @@ public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1161,7 +1202,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1231,14 +1272,25 @@ public uint ArgumentsCount public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(40)] internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; + + [FieldOffset(44)] internal uint paramIndex; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1284,7 +1336,7 @@ internal static ParamCommandComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1304,7 +1356,7 @@ protected ParamCommandComment(void* native, bool skipVTables = false) public ParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1313,7 +1365,7 @@ public ParamCommandComment() public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1333,7 +1385,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1366,13 +1418,22 @@ public uint ParamIndex public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(40)] internal global::Std.Vector.__Internal Position; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1423,7 +1484,7 @@ internal static TParamCommandComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1443,7 +1504,7 @@ protected TParamCommandComment(void* native, bool skipVTables = false) public TParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1452,7 +1513,7 @@ public TParamCommandComment() public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1472,7 +1533,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1508,11 +1569,14 @@ public uint PositionCount public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -1522,6 +1586,12 @@ public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.A [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new VerbatimBlockLineComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -1550,7 +1620,7 @@ internal static VerbatimBlockLineComment __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1570,7 +1640,7 @@ protected VerbatimBlockLineComment(void* native, bool skipVTables = false) public VerbatimBlockLineComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1579,7 +1649,7 @@ public VerbatimBlockLineComment() public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1599,7 +1669,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1607,26 +1677,35 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(40)] internal global::Std.Vector.__Internal Lines; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1677,7 +1756,7 @@ internal static VerbatimBlockComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1697,7 +1776,7 @@ protected VerbatimBlockComment(void* native, bool skipVTables = false) public VerbatimBlockComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1706,7 +1785,7 @@ public VerbatimBlockComment() public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1726,7 +1805,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1763,14 +1842,23 @@ public uint LinesCount public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internal Arguments; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -1780,6 +1868,12 @@ public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.Bl [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new VerbatimLineComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -1808,7 +1902,7 @@ internal static VerbatimLineComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1828,7 +1922,7 @@ protected VerbatimLineComment(void* native, bool skipVTables = false) public VerbatimLineComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1837,7 +1931,7 @@ public VerbatimLineComment() public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1857,7 +1951,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1865,26 +1959,35 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; + + [FieldOffset(8)] internal uint commandId; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; + + [FieldOffset(16)] internal global::Std.Vector.__Internal Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1920,10 +2023,11 @@ public enum RenderKind : uint public unsafe partial class Argument : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public partial struct __Internal { - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -1933,6 +2037,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8Argument7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8Argument7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -1979,7 +2089,7 @@ internal static Argument __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2000,7 +2110,7 @@ protected Argument(void* native, bool skipVTables = false) public Argument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2008,7 +2118,7 @@ public Argument() public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2033,7 +2143,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2041,13 +2151,13 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } @@ -2078,7 +2188,7 @@ internal static InlineCommandComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2098,7 +2208,7 @@ protected InlineCommandComment(void* native, bool skipVTables = false) public InlineCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2107,7 +2217,7 @@ public InlineCommandComment() public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2127,7 +2237,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2191,10 +2301,13 @@ public uint ArgumentsCount public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -2233,7 +2346,7 @@ internal static HTMLTagComment __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -2253,7 +2366,7 @@ protected HTMLTagComment(void* native, bool skipVTables = false) public HTMLTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2262,7 +2375,7 @@ public HTMLTagComment() public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -2271,7 +2384,7 @@ public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); @@ -2285,12 +2398,19 @@ public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C TagName; + + [FieldOffset(40)] internal global::Std.Vector.__Internal Attributes; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -2311,17 +2431,26 @@ public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HT [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment15clearAttributesEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearAttributes(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment10getTagNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTagName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment10setTagNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTagName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetAttributesCount(__IntPtr __instance); } public unsafe partial class Attribute : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public partial struct __Internal { - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C value; + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -2331,6 +2460,18 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute8getValueEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetValue(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute8setValueEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetValue(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -2377,7 +2518,7 @@ internal static Attribute __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2398,7 +2539,7 @@ protected Attribute(void* native, bool skipVTables = false) public Attribute() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2406,7 +2547,7 @@ public Attribute() public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2431,7 +2572,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2439,13 +2580,13 @@ public string Name { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + __Internal.SetName(__Instance, value); } } @@ -2453,13 +2594,13 @@ public string Value { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->value)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetValue(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->value), value); + __Internal.SetValue(__Instance, value); } } } @@ -2490,7 +2631,7 @@ internal static HTMLStartTagComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2510,7 +2651,7 @@ protected HTMLStartTagComment(void* native, bool skipVTables = false) public HTMLStartTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2519,7 +2660,7 @@ public HTMLStartTagComment() public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2539,7 +2680,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2569,13 +2710,13 @@ public string TagName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->tagName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetTagName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->tagName), value); + __Internal.SetTagName(__Instance, value); } } @@ -2591,12 +2732,17 @@ public uint AttributesCount public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C tagName; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C TagName; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -2606,6 +2752,12 @@ public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTML [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagComment10getTagNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTagName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagComment10setTagNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTagName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new HTMLEndTagComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -2634,7 +2786,7 @@ internal static HTMLEndTagComment __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2654,7 +2806,7 @@ protected HTMLEndTagComment(void* native, bool skipVTables = false) public HTMLEndTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2663,7 +2815,7 @@ public HTMLEndTagComment() public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2683,7 +2835,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2691,25 +2843,30 @@ public string TagName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->tagName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetTagName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->tagName), value); + __Internal.SetTagName(__Instance, value); } } } public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -2719,6 +2876,12 @@ public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineCont [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new TextComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -2747,7 +2910,7 @@ internal static TextComment __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2767,7 +2930,7 @@ protected TextComment(void* native, bool skipVTables = false) public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TextComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2776,7 +2939,7 @@ public TextComment() public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TextComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2796,7 +2959,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2804,25 +2967,32 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.RawCommentKind kind; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C briefText; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Text; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C BriefText; + + [FieldOffset(72)] internal __IntPtr fullCommentBlock; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -2833,6 +3003,18 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBriefText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBriefText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -2879,7 +3061,7 @@ internal static RawComment __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2900,7 +3082,7 @@ protected RawComment(void* native, bool skipVTables = false) public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.RawComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2908,7 +3090,7 @@ public RawComment() public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.RawComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2933,7 +3115,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2950,45 +3132,45 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) } } - public string Text + public global::CppSharp.Parser.AST.FullComment FullCommentBlock { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var __result0 = global::CppSharp.Parser.AST.FullComment.__GetOrCreateInstance(((__Internal*)__Instance)->fullCommentBlock, false); + return __result0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + ((__Internal*)__Instance)->fullCommentBlock = value is null ? __IntPtr.Zero : value.__Instance; } } - public string BriefText + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->briefText)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->briefText), value); + __Internal.SetText(__Instance, value); } } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public string BriefText { get { - var __result0 = global::CppSharp.Parser.AST.FullComment.__GetOrCreateInstance(((__Internal*)__Instance)->fullCommentBlock, false); - return __result0; + var ___ret = __Internal.GetBriefText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->fullCommentBlock = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetBriefText(__Instance, value); } } } @@ -3002,9 +3184,10 @@ namespace Parser { public unsafe partial struct SourceLocation { - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { + [FieldOffset(0)] internal uint ID; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser14SourceLocationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3090,10 +3273,13 @@ public uint ID public unsafe partial class SourceRange : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] @@ -3147,7 +3333,7 @@ internal static SourceRange __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -3168,7 +3354,7 @@ protected SourceRange(void* native, bool skipVTables = false) public SourceRange(global::CppSharp.Parser.SourceRange _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.SourceRange.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); @@ -3176,7 +3362,7 @@ public SourceRange(global::CppSharp.Parser.SourceRange _0) public SourceRange() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.SourceRange.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3196,7 +3382,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3314,10 +3500,13 @@ public enum ExceptionSpecType public unsafe partial class Type : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -3371,7 +3560,7 @@ internal static Type __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -3392,7 +3581,7 @@ protected Type(void* native, bool skipVTables = false) public Type(global::CppSharp.Parser.AST.TypeKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Type.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -3400,7 +3589,7 @@ public Type(global::CppSharp.Parser.AST.TypeKind kind) public Type(global::CppSharp.Parser.AST.Type _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Type.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -3423,7 +3612,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3461,11 +3650,16 @@ public bool IsDependent public unsafe partial class TypeQualifiers : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 3)] + [StructLayout(LayoutKind.Explicit, Size = 3)] public partial struct __Internal { + [FieldOffset(0)] internal byte isConst; + + [FieldOffset(1)] internal byte isVolatile; + + [FieldOffset(2)] internal byte isRestrict; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] @@ -3516,7 +3710,7 @@ internal static TypeQualifiers __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -3537,7 +3731,7 @@ protected TypeQualifiers(void* native, bool skipVTables = false) public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); @@ -3545,7 +3739,7 @@ public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) public TypeQualifiers() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } @@ -3564,7 +3758,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3610,10 +3804,13 @@ public bool IsRestrict public unsafe partial class QualifiedType : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { + [FieldOffset(0)] internal __IntPtr type; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3667,7 +3864,7 @@ internal static QualifiedType __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -3688,7 +3885,7 @@ protected QualifiedType(void* native, bool skipVTables = false) public QualifiedType() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3696,7 +3893,7 @@ public QualifiedType() public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); @@ -3716,7 +3913,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3752,11 +3949,16 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7TagTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3792,7 +3994,7 @@ internal static TagType __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -3812,7 +4014,7 @@ protected TagType(void* native, bool skipVTables = false) public TagType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TagType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3821,7 +4023,7 @@ public TagType() public TagType(global::CppSharp.Parser.AST.TagType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TagType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -3847,14 +4049,25 @@ public TagType(global::CppSharp.Parser.AST.TagType _0) public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + + [FieldOffset(32)] internal long size; + + [FieldOffset(40)] internal long elementSize; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3898,7 +4111,7 @@ internal static ArrayType __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -3918,7 +4131,7 @@ protected ArrayType(void* native, bool skipVTables = false) public ArrayType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3927,7 +4140,7 @@ public ArrayType() public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -3993,14 +4206,25 @@ public long ElementSize public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(28)] internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(32)] internal global::Std.Vector.__Internal Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4051,7 +4275,7 @@ internal static FunctionType __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4071,7 +4295,7 @@ protected FunctionType(void* native, bool skipVTables = false) public FunctionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4080,7 +4304,7 @@ public FunctionType() public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4100,7 +4324,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -4178,12 +4402,19 @@ public uint ParametersCount public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4227,7 +4458,7 @@ internal static PointerType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4247,7 +4478,7 @@ protected PointerType(void* native, bool skipVTables = false) public PointerType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4256,7 +4487,7 @@ public PointerType() public PointerType(global::CppSharp.Parser.AST.PointerType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4296,11 +4527,16 @@ public PointerType(global::CppSharp.Parser.AST.PointerType _0) public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4336,7 +4572,7 @@ internal static MemberPointerType __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4356,7 +4592,7 @@ protected MemberPointerType(void* native, bool skipVTables = false) public MemberPointerType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4365,7 +4601,7 @@ public MemberPointerType() public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4392,11 +4628,16 @@ public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4432,7 +4673,7 @@ internal static TypedefType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4452,7 +4693,7 @@ protected TypedefType(void* native, bool skipVTables = false) public TypedefType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4461,7 +4702,7 @@ public TypedefType() public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4487,12 +4728,19 @@ public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4528,7 +4776,7 @@ internal static AttributedType __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4548,7 +4796,7 @@ protected AttributedType(void* native, bool skipVTables = false) public AttributedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4557,7 +4805,7 @@ public AttributedType() public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4599,13 +4847,22 @@ public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + + [FieldOffset(40)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4641,7 +4898,7 @@ internal static DecayedType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4661,7 +4918,7 @@ protected DecayedType(void* native, bool skipVTables = false) public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4670,7 +4927,7 @@ public DecayedType() public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4727,12 +4984,19 @@ public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) public unsafe partial class TemplateArgument : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] internal __IntPtr declaration; + + [FieldOffset(32)] internal long integral; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4798,7 +5062,7 @@ internal static TemplateArgument __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -4819,7 +5083,7 @@ protected TemplateArgument(void* native, bool skipVTables = false) public TemplateArgument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4827,7 +5091,7 @@ public TemplateArgument() public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); @@ -4847,7 +5111,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -4909,13 +5173,22 @@ public long Integral public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(32)] internal __IntPtr _template; + + [FieldOffset(40)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4966,7 +5239,7 @@ internal static TemplateSpecializationType __CreateInstance(__Internal native, b private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4986,7 +5259,7 @@ protected TemplateSpecializationType(void* native, bool skipVTables = false) public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4995,7 +5268,7 @@ public TemplateSpecializationType() public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5015,7 +5288,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5080,12 +5353,19 @@ public uint ArgumentsCount public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(32)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5136,7 +5416,7 @@ internal static DependentTemplateSpecializationType __CreateInstance(__Internal private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5156,7 +5436,7 @@ protected DependentTemplateSpecializationType(void* native, bool skipVTables = f public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5165,7 +5445,7 @@ public DependentTemplateSpecializationType() public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5185,7 +5465,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5236,14 +5516,25 @@ public uint ArgumentsCount public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr parameter; + + [FieldOffset(16)] internal uint depth; + + [FieldOffset(20)] internal uint index; + + [FieldOffset(24)] internal byte isParameterPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5282,7 +5573,7 @@ internal static TemplateParameterType __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5302,7 +5593,7 @@ protected TemplateParameterType(void* native, bool skipVTables = false) public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5311,7 +5602,7 @@ public TemplateParameterType() public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5331,7 +5622,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5391,12 +5682,19 @@ public bool IsParameterPack public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + + [FieldOffset(24)] internal __IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5432,7 +5730,7 @@ internal static TemplateParameterSubstitutionType __CreateInstance(__Internal na private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5452,7 +5750,7 @@ protected TemplateParameterSubstitutionType(void* native, bool skipVTables = fal public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5461,7 +5759,7 @@ public TemplateParameterSubstitutionType() public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5502,12 +5800,19 @@ public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplatePar public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + + [FieldOffset(24)] internal __IntPtr _class; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5543,7 +5848,7 @@ internal static InjectedClassNameType __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5563,7 +5868,7 @@ protected InjectedClassNameType(void* native, bool skipVTables = false) public InjectedClassNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5572,7 +5877,7 @@ public InjectedClassNameType() public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5613,13 +5918,20 @@ public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _ public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C identifier; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Identifier; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -5629,6 +5941,12 @@ public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameType13getIdentifierEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetIdentifier(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameType13setIdentifierEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetIdentifier(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new DependentNameType __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -5657,7 +5975,7 @@ internal static DependentNameType __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5677,7 +5995,7 @@ protected DependentNameType(void* native, bool skipVTables = false) public DependentNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5686,7 +6004,7 @@ public DependentNameType() public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5706,7 +6024,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5729,23 +6047,26 @@ public string Identifier { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->identifier)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetIdentifier(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->identifier), value); + __Internal.SetIdentifier(__Instance, value); } } } public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5781,7 +6102,7 @@ internal static PackExpansionType __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5801,7 +6122,7 @@ protected PackExpansionType(void* native, bool skipVTables = false) public PackExpansionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5810,7 +6131,7 @@ public PackExpansionType() public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5822,12 +6143,19 @@ public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5863,7 +6191,7 @@ internal static UnaryTransformType __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5883,7 +6211,7 @@ protected UnaryTransformType(void* native, bool skipVTables = false) public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5892,7 +6220,7 @@ public UnaryTransformType() public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5934,11 +6262,16 @@ public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) public unsafe partial class UnresolvedUsingType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19UnresolvedUsingTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5974,7 +6307,7 @@ internal static UnresolvedUsingType __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5994,7 +6327,7 @@ protected UnresolvedUsingType(void* native, bool skipVTables = false) public UnresolvedUsingType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -6003,7 +6336,7 @@ public UnresolvedUsingType() public UnresolvedUsingType(global::CppSharp.Parser.AST.UnresolvedUsingType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6029,12 +6362,19 @@ public UnresolvedUsingType(global::CppSharp.Parser.AST.UnresolvedUsingType _0) public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; + + [FieldOffset(24)] internal uint numElements; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -6070,7 +6410,7 @@ internal static VectorType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -6090,7 +6430,7 @@ protected VectorType(void* native, bool skipVTables = false) public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VectorType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -6099,7 +6439,7 @@ public VectorType() public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VectorType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6139,11 +6479,16 @@ public uint NumElements public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -6179,7 +6524,7 @@ internal static BuiltinType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -6199,7 +6544,7 @@ protected BuiltinType(void* native, bool skipVTables = false) public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -6208,7 +6553,7 @@ public BuiltinType() public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6440,30 +6785,73 @@ public enum VTableComponentKind public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 224)] + [StructLayout(LayoutKind.Explicit, Size = 224)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -6493,6 +6881,24 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearRedeclarations(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration6getUSREv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetUSR(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration6setUSREPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetUSR(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetDebugText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetDebugText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetPreprocessedEntitiesCount(__IntPtr __instance); @@ -6544,7 +6950,7 @@ internal static Declaration __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -6565,7 +6971,7 @@ protected Declaration(void* native, bool skipVTables = false) public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Declaration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -6573,7 +6979,7 @@ public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Declaration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6598,7 +7004,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -6754,164 +7160,164 @@ public int LineNumberEnd } } - public string Name + public bool IsIncomplete { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isIncomplete != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + ((__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); } } - public string USR + public bool IsDependent { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->USR)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isDependent != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->USR), value); + ((__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } - public string DebugText + public bool IsImplicit { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->debugText)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isImplicit != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->debugText), value); + ((__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); } } - public bool IsIncomplete + public bool IsInvalid { get { - return ((__Internal*)__Instance)->isIncomplete != 0; + return ((__Internal*)__Instance)->isInvalid != 0; } set { - ((__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); } } - public bool IsDependent + public bool IsDeprecated { get { - return ((__Internal*)__Instance)->isDependent != 0; + return ((__Internal*)__Instance)->isDeprecated != 0; } set { - ((__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->isDeprecated = (byte) (value ? 1 : 0); } } - public bool IsImplicit + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { get { - return ((__Internal*)__Instance)->isImplicit != 0; + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->completeDeclaration, false); + return __result0; } set { - ((__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->completeDeclaration = value is null ? __IntPtr.Zero : value.__Instance; } } - public bool IsInvalid + public uint DefinitionOrder { get { - return ((__Internal*)__Instance)->isInvalid != 0; + return ((__Internal*)__Instance)->definitionOrder; } set { - ((__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->definitionOrder = value; } } - public bool IsDeprecated + public __IntPtr OriginalPtr { get { - return ((__Internal*)__Instance)->isDeprecated != 0; + return ((__Internal*)__Instance)->originalPtr; } set { - ((__Internal*)__Instance)->isDeprecated = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->originalPtr = (__IntPtr) value; } } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + public global::CppSharp.Parser.AST.RawComment Comment { get { - var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->completeDeclaration, false); + var __result0 = global::CppSharp.Parser.AST.RawComment.__GetOrCreateInstance(((__Internal*)__Instance)->comment, false); return __result0; } set { - ((__Internal*)__Instance)->completeDeclaration = value is null ? __IntPtr.Zero : value.__Instance; + ((__Internal*)__Instance)->comment = value is null ? __IntPtr.Zero : value.__Instance; } } - public uint DefinitionOrder + public string Name { get { - return ((__Internal*)__Instance)->definitionOrder; + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->definitionOrder = value; + __Internal.SetName(__Instance, value); } } - public __IntPtr OriginalPtr + public string USR { get { - return ((__Internal*)__Instance)->originalPtr; + var ___ret = __Internal.GetUSR(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->originalPtr = (__IntPtr) value; + __Internal.SetUSR(__Instance, value); } } - public global::CppSharp.Parser.AST.RawComment Comment + public string DebugText { get { - var __result0 = global::CppSharp.Parser.AST.RawComment.__GetOrCreateInstance(((__Internal*)__Instance)->comment, false); - return __result0; + var ___ret = __Internal.GetDebugText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->comment = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetDebugText(__Instance, value); } } @@ -6936,41 +7342,106 @@ public uint RedeclarationsCount public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 496)] + [StructLayout(LayoutKind.Explicit, Size = 496)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(296)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(368)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(392)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(416)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(440)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] internal byte isAnonymous; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -7117,7 +7588,7 @@ internal static DeclarationContext __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7137,7 +7608,7 @@ protected DeclarationContext(void* native, bool skipVTables = false) public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -7146,7 +7617,7 @@ public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7166,7 +7637,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7461,31 +7932,76 @@ public uint FriendsCount public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -7524,7 +8040,7 @@ internal static TypedefNameDecl __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7544,7 +8060,7 @@ protected TypedefNameDecl(void* native, bool skipVTables = false) public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -7553,7 +8069,7 @@ public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7573,7 +8089,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7600,31 +8116,76 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -7663,7 +8224,7 @@ internal static TypedefDecl __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7683,7 +8244,7 @@ protected TypedefDecl(void* native, bool skipVTables = false) public TypedefDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -7692,7 +8253,7 @@ public TypedefDecl() public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7712,39 +8273,86 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 248)] + [StructLayout(LayoutKind.Explicit, Size = 248)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(240)] internal __IntPtr describedAliasTemplate; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -7783,7 +8391,7 @@ internal static TypeAlias __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7803,7 +8411,7 @@ protected TypeAlias(void* native, bool skipVTables = false) public TypeAlias() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -7812,7 +8420,7 @@ public TypeAlias() public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7832,7 +8440,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7853,31 +8461,76 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6FriendC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -7916,7 +8569,7 @@ internal static Friend __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7936,7 +8589,7 @@ protected Friend(void* native, bool skipVTables = false) public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Friend.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -7945,7 +8598,7 @@ public Friend() public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Friend.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7965,7 +8618,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7986,21 +8639,29 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class StatementObsolete : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_22StatementClassObsoleteEPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, __IntPtr decl); + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C String; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsoleteD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsolete9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsolete9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -8047,7 +8708,7 @@ internal static StatementObsolete __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.StatementObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8066,22 +8727,9 @@ protected StatementObsolete(void* native, bool skipVTables = false) __Instance = new __IntPtr(native); } - public StatementObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, Class, __arg2); - __basicString0.Dispose(); - } - public StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8106,7 +8754,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8141,28 +8789,30 @@ public string String { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->@string)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->@string), value); + __Internal.SetString(__Instance, value); } } } public unsafe partial class ExpressionObsolete : global::CppSharp.Parser.AST.StatementObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEENS1_22StatementClassObsoleteEPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, __IntPtr decl); + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C String; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); @@ -8197,7 +8847,7 @@ internal static ExpressionObsolete __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ExpressionObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8214,24 +8864,10 @@ protected ExpressionObsolete(void* native, bool skipVTables = false) { } - public ExpressionObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, Class, __arg2); - __basicString0.Dispose(); - } - public ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8251,31 +8887,45 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class BinaryOperatorObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C String; + + [FieldOffset(48)] internal __IntPtr LHS; + + [FieldOffset(56)] internal __IntPtr RHS; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_18ExpressionObsoleteESC_SA_", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, __IntPtr lhs, __IntPtr rhs, __IntPtr opcodeStr); + [FieldOffset(64)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C OpcodeStr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsolete12getOpcodeStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetOpcodeStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsolete12setOpcodeStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetOpcodeStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new BinaryOperatorObsolete __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -8304,7 +8954,7 @@ internal static BinaryOperatorObsolete __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8321,29 +8971,10 @@ protected BinaryOperatorObsolete(void* native, bool skipVTables = false) { } - public BinaryOperatorObsolete(string str, global::CppSharp.Parser.AST.ExpressionObsolete lhs, global::CppSharp.Parser.AST.ExpressionObsolete rhs, string opcodeStr) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = lhs is null ? __IntPtr.Zero : lhs.__Instance; - var __arg2 = rhs is null ? __IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor(__Instance, __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(); - __basicString3.Dispose(); - } - public BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8363,7 +8994,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8399,29 +9030,33 @@ public string OpcodeStr { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->opcodeStr)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetOpcodeStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->opcodeStr), value); + __Internal.SetOpcodeStr(__Instance, value); } } } public unsafe partial class CallExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - internal global::Std.Vector.__Internal Arguments; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, __IntPtr decl); + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C String; + + [FieldOffset(48)] + internal global::Std.Vector.__Internal Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); @@ -8468,7 +9103,7 @@ internal static CallExprObsolete __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CallExprObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8485,24 +9120,10 @@ protected CallExprObsolete(void* native, bool skipVTables = false) { } - public CallExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, __arg1); - __basicString0.Dispose(); - } - public CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8522,7 +9143,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8559,16 +9180,20 @@ public uint ArgumentsCount public unsafe partial class CXXConstructExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - internal global::Std.Vector.__Internal Arguments; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, __IntPtr decl); + [FieldOffset(16)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C String; + + [FieldOffset(48)] + internal global::Std.Vector.__Internal Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); @@ -8615,7 +9240,7 @@ internal static CXXConstructExprObsolete __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8632,24 +9257,10 @@ protected CXXConstructExprObsolete(void* native, bool skipVTables = false) { } - public CXXConstructExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, __arg1); - __basicString0.Dispose(); - } - public CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8669,7 +9280,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8706,36 +9317,91 @@ public uint ArgumentsCount public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 264)] + [StructLayout(LayoutKind.Explicit, Size = 264)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(240)] internal byte isIndirect; + + [FieldOffset(241)] internal byte hasDefaultValue; + + [FieldOffset(244)] internal uint index; + + [FieldOffset(248)] internal __IntPtr defaultArgument; + + [FieldOffset(256)] internal __IntPtr defaultValue; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -8774,7 +9440,7 @@ internal static Parameter __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8794,7 +9460,7 @@ protected Parameter(void* native, bool skipVTables = false) public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Parameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -8803,7 +9469,7 @@ public Parameter() public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Parameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8823,7 +9489,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8912,61 +9578,166 @@ public uint Index public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 696)] + [StructLayout(LayoutKind.Explicit, Size = 696)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(296)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(368)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(392)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(416)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(440)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] internal byte isAnonymous; + + [FieldOffset(496)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(512)] internal byte isReturnIndirect; + + [FieldOffset(513)] internal byte hasThisReturn; + + [FieldOffset(514)] internal byte isConstExpr; + + [FieldOffset(515)] internal byte isVariadic; + + [FieldOffset(516)] internal byte isInline; + + [FieldOffset(517)] internal byte isPure; + + [FieldOffset(518)] internal byte isDeleted; + + [FieldOffset(519)] internal byte isDefaulted; + + [FieldOffset(520)] internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(524)] internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Mangled; + + [FieldOffset(560)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Signature; + + [FieldOffset(592)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Body; + + [FieldOffset(624)] internal __IntPtr bodyStmt; + + [FieldOffset(632)] internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(640)] internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(664)] internal __IntPtr specializationInfo; + + [FieldOffset(672)] internal __IntPtr instantiatedFrom; + + [FieldOffset(680)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8FunctionC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -8987,6 +9758,24 @@ public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationCo [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function15clearParametersEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearParameters(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function10getMangledEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMangled(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMangled(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function12getSignatureEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetSignature(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetSignature(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function7getBodyEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBody(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBody(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetParametersCount(__IntPtr __instance); } @@ -9017,7 +9806,7 @@ internal static Function __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9037,7 +9826,7 @@ protected Function(void* native, bool skipVTables = false) public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Function.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9046,7 +9835,7 @@ public Function() public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Function.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -9066,7 +9855,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -9236,17 +10025,87 @@ public bool IsDefaulted } } + public global::CppSharp.Parser.AST.Stmt BodyStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->bodyStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->bodyStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + return ((__Internal*)__Instance)->callingConvention; + } + + set + { + ((__Internal*)__Instance)->callingConvention = value; + } + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + var __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__GetOrCreateInstance(((__Internal*)__Instance)->specializationInfo, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->specializationInfo = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(((__Internal*)__Instance)->instantiatedFrom, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->instantiatedFrom = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + public string Mangled { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->mangled)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetMangled(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->mangled), value); + __Internal.SetMangled(__Instance, value); } } @@ -9254,13 +10113,13 @@ public string Signature { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->signature)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetSignature(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->signature), value); + __Internal.SetSignature(__Instance, value); } } @@ -9268,83 +10127,13 @@ public string Body { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->body)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetBody(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->body), value); - } - } - - public global::CppSharp.Parser.AST.Stmt BodyStmt - { - get - { - var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->bodyStmt, false); - return __result0; - } - - set - { - ((__Internal*)__Instance)->bodyStmt = value is null ? __IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.CallingConvention CallingConvention - { - get - { - return ((__Internal*)__Instance)->callingConvention; - } - - set - { - ((__Internal*)__Instance)->callingConvention = value; - } - } - - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo - { - get - { - var __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__GetOrCreateInstance(((__Internal*)__Instance)->specializationInfo, false); - return __result0; - } - - set - { - ((__Internal*)__Instance)->specializationInfo = value is null ? __IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Function InstantiatedFrom - { - get - { - var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(((__Internal*)__Instance)->instantiatedFrom, false); - return __result0; - } - - set - { - ((__Internal*)__Instance)->instantiatedFrom = value is null ? __IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); - } - - set - { - if (ReferenceEquals(value, null)) - throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); - ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + __Internal.SetBody(__Instance, value); } } @@ -9360,73 +10149,202 @@ public uint ParametersCount public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 760)] + [StructLayout(LayoutKind.Explicit, Size = 760)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(296)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(368)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(392)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(416)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(440)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] internal byte isAnonymous; + + [FieldOffset(496)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(512)] internal byte isReturnIndirect; + + [FieldOffset(513)] internal byte hasThisReturn; + + [FieldOffset(514)] internal byte isConstExpr; + + [FieldOffset(515)] internal byte isVariadic; + + [FieldOffset(516)] internal byte isInline; + + [FieldOffset(517)] internal byte isPure; + + [FieldOffset(518)] internal byte isDeleted; + + [FieldOffset(519)] internal byte isDefaulted; + + [FieldOffset(520)] internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(524)] internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C signature; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C body; + + [FieldOffset(528)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Mangled; + + [FieldOffset(560)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Signature; + + [FieldOffset(592)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Body; + + [FieldOffset(624)] internal __IntPtr bodyStmt; + + [FieldOffset(632)] internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(640)] internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(664)] internal __IntPtr specializationInfo; + + [FieldOffset(672)] internal __IntPtr instantiatedFrom; + + [FieldOffset(680)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(696)] internal byte isVirtual; + + [FieldOffset(697)] internal byte isStatic; + + [FieldOffset(698)] internal byte isConst; + + [FieldOffset(699)] internal byte isExplicit; + + [FieldOffset(700)] internal byte isVolatile; + + [FieldOffset(704)] internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + + [FieldOffset(708)] internal byte isDefaultConstructor; + + [FieldOffset(709)] internal byte isCopyConstructor; + + [FieldOffset(710)] internal byte isMoveConstructor; + + [FieldOffset(712)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(728)] internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(736)] internal global::Std.Vector.__Internal OverriddenMethods; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6MethodC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -9477,7 +10395,7 @@ internal static Method __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9497,7 +10415,7 @@ protected Method(void* native, bool skipVTables = false) public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Method.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9506,7 +10424,7 @@ public Method() public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Method.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -9526,7 +10444,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -9708,45 +10626,118 @@ public uint OverriddenMethodsCount public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 536)] + [StructLayout(LayoutKind.Explicit, Size = 536)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(296)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(368)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(392)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(416)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(440)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] internal byte isAnonymous; + + [FieldOffset(492)] internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(496)] internal __IntPtr type; + + [FieldOffset(504)] internal __IntPtr builtinType; + + [FieldOffset(512)] internal global::Std.Vector.__Internal Items; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11EnumerationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -9767,9 +10758,6 @@ public unsafe partial class Enumeration : global::CppSharp.Parser.AST.Declaratio [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearItems(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindItemByName(__IntPtr __instance, __IntPtr Name); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetItemsCount(__IntPtr __instance); } @@ -9784,32 +10772,79 @@ public enum EnumModifiers public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 264)] + [StructLayout(LayoutKind.Explicit, Size = 264)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + + [FieldOffset(224)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Expression; + + [FieldOffset(256)] internal ulong value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -9820,6 +10855,12 @@ public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDis [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetExpression(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetExpression(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new Item __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -9848,7 +10889,7 @@ internal static Item __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9868,7 +10909,7 @@ protected Item(void* native, bool skipVTables = false) public Item() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9877,7 +10918,7 @@ public Item() public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -9897,34 +10938,34 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string Expression + public ulong Value { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->expression)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->value; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->expression), value); + ((__Internal*)__Instance)->value = value; } } - public ulong Value + public string Expression { get { - return ((__Internal*)__Instance)->value; + var ___ret = __Internal.GetExpression(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->value = value; + __Internal.SetExpression(__Instance, value); } } } @@ -9955,7 +10996,7 @@ internal static Enumeration __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9975,7 +11016,7 @@ protected Enumeration(void* native, bool skipVTables = false) public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9984,7 +11025,7 @@ public Enumeration() public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10004,7 +11045,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10029,17 +11070,6 @@ public void ClearItems() __Internal.ClearItems(__Instance); } - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindItemByName(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__GetOrCreateInstance(___ret, false); - return __result0; - } - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get @@ -10093,34 +11123,85 @@ public uint ItemsCount public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 288)] + [StructLayout(LayoutKind.Explicit, Size = 288)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal byte isConstExpr; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(232)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Mangled; + + [FieldOffset(264)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(280)] internal __IntPtr initializer; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8VariableC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10131,6 +11212,12 @@ public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8VariableD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Variable10getMangledEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMangled(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMangled(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new Variable __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -10159,7 +11246,7 @@ internal static Variable __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10179,7 +11266,7 @@ protected Variable(void* native, bool skipVTables = false) public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Variable.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10188,7 +11275,7 @@ public Variable() public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Variable.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10208,7 +11295,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10225,58 +11312,65 @@ public bool IsConstExpr } } - public string Mangled + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->mangled)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->mangled), value); + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.ExpressionObsolete Initializer { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(((__Internal*)__Instance)->initializer, false); + return __result0; } set { - if (ReferenceEquals(value, null)) - throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); - ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((__Internal*)__Instance)->initializer = value is null ? __IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ExpressionObsolete Initializer + public string Mangled { get { - var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(((__Internal*)__Instance)->initializer, false); - return __result0; + var ___ret = __Internal.GetMangled(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->initializer = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetMangled(__Instance, value); } } } public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(4)] internal byte isVirtual; + + [FieldOffset(8)] internal __IntPtr type; + + [FieldOffset(16)] internal int offset; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10330,7 +11424,7 @@ internal static BaseClassSpecifier __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -10351,7 +11445,7 @@ protected BaseClassSpecifier(void* native, bool skipVTables = false) public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10359,7 +11453,7 @@ public BaseClassSpecifier() public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); @@ -10379,7 +11473,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10439,34 +11533,85 @@ public int Offset public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(240)] internal __IntPtr _class; + + [FieldOffset(248)] internal byte isBitField; + + [FieldOffset(252)] internal uint bitWidth; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5FieldC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10505,7 +11650,7 @@ internal static Field __CreateInstance(__Internal native, bool skipVTables = fal private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10525,7 +11670,7 @@ protected Field(void* native, bool skipVTables = false) public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Field.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10534,7 +11679,7 @@ public Field() public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Field.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10554,7 +11699,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10616,30 +11761,73 @@ public uint BitWidth public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 224)] + [StructLayout(LayoutKind.Explicit, Size = 224)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10678,7 +11866,7 @@ internal static AccessSpecifierDecl __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10698,7 +11886,7 @@ protected AccessSpecifierDecl(void* native, bool skipVTables = false) public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10707,7 +11895,7 @@ public AccessSpecifierDecl() public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10727,18 +11915,23 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class VTableComponent : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.VTableComponentKind kind; + + [FieldOffset(4)] internal uint offset; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10792,7 +11985,7 @@ internal static VTableComponent __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -10813,7 +12006,7 @@ protected VTableComponent(void* native, bool skipVTables = false) public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10821,7 +12014,7 @@ public VTableComponent() public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); @@ -10841,7 +12034,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10888,9 +12081,10 @@ public uint Offset public unsafe partial class VTableLayout : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internal Components; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10959,7 +12153,7 @@ internal static VTableLayout __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10980,7 +12174,7 @@ protected VTableLayout(void* native, bool skipVTables = false) public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10988,7 +12182,7 @@ public VTableLayout() public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -11013,7 +12207,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11048,12 +12242,19 @@ public uint ComponentsCount public unsafe partial class VFTableInfo : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public partial struct __Internal { + [FieldOffset(0)] internal ulong VBTableIndex; + + [FieldOffset(8)] internal uint VFPtrOffset; + + [FieldOffset(12)] internal uint VFPtrFullOffset; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11110,7 +12311,7 @@ internal static VFTableInfo __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11131,7 +12332,7 @@ protected VFTableInfo(void* native, bool skipVTables = false) public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11139,7 +12340,7 @@ public VFTableInfo() public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -11164,7 +12365,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11225,12 +12426,19 @@ public uint VFPtrFullOffset public unsafe partial class LayoutField : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public partial struct __Internal { + [FieldOffset(0)] internal uint offset; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(40)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(56)] internal __IntPtr fieldPtr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11241,6 +12449,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutField7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutField7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -11287,7 +12501,7 @@ internal static LayoutField __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11308,7 +12522,7 @@ protected LayoutField(void* native, bool skipVTables = false) public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11316,7 +12530,7 @@ public LayoutField() public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(other, null)) @@ -11341,7 +12555,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11358,55 +12572,58 @@ public uint Offset } } - public string Name + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public __IntPtr FieldPtr { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + return ((__Internal*)__Instance)->fieldPtr; } set { - if (ReferenceEquals(value, null)) - throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); - ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((__Internal*)__Instance)->fieldPtr = (__IntPtr) value; } } - public __IntPtr FieldPtr + public string Name { get { - return ((__Internal*)__Instance)->fieldPtr; + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->fieldPtr = (__IntPtr) value; + __Internal.SetName(__Instance, value); } } } public unsafe partial class LayoutBase : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { + [FieldOffset(0)] internal uint offset; + + [FieldOffset(8)] internal __IntPtr _class; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11463,7 +12680,7 @@ internal static LayoutBase __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11484,7 +12701,7 @@ protected LayoutBase(void* native, bool skipVTables = false) public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11492,7 +12709,7 @@ public LayoutBase() public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(other, null)) @@ -11517,7 +12734,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11551,19 +12768,40 @@ public uint Offset public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CppAbi ABI; + + [FieldOffset(4)] internal global::CppSharp.Parser.AST.RecordArgABI argABI; + + [FieldOffset(8)] internal global::Std.Vector.__Internal VFTables; + + [FieldOffset(32)] internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + + [FieldOffset(56)] internal byte hasOwnVFPtr; + + [FieldOffset(64)] internal long VBPtrOffset; + + [FieldOffset(72)] internal int alignment; + + [FieldOffset(76)] internal int size; + + [FieldOffset(80)] internal int dataSize; + + [FieldOffset(88)] internal global::Std.Vector.__Internal Fields; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Bases; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11656,7 +12894,7 @@ internal static ClassLayout __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11677,7 +12915,7 @@ protected ClassLayout(void* native, bool skipVTables = false) public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11685,7 +12923,7 @@ public ClassLayout() public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -11710,7 +12948,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11916,57 +13154,154 @@ public uint BasesCount public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 616)] + [StructLayout(LayoutKind.Explicit, Size = 616)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(296)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(368)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(392)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(416)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(440)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] internal byte isAnonymous; + + [FieldOffset(496)] internal global::Std.Vector.__Internal Bases; + + [FieldOffset(520)] internal global::Std.Vector.__Internal Fields; + + [FieldOffset(544)] internal global::Std.Vector.__Internal Methods; + + [FieldOffset(568)] internal global::Std.Vector.__Internal Specifiers; + + [FieldOffset(592)] internal byte isPOD; + + [FieldOffset(593)] internal byte isAbstract; + + [FieldOffset(594)] internal byte isUnion; + + [FieldOffset(595)] internal byte isDynamic; + + [FieldOffset(596)] internal byte isPolymorphic; + + [FieldOffset(597)] internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(598)] internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(599)] internal byte hasNonTrivialDestructor; + + [FieldOffset(600)] internal byte isExternCContext; + + [FieldOffset(601)] internal byte isInjected; + + [FieldOffset(604)] internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(608)] internal __IntPtr layout; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5ClassC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -12053,7 +13388,7 @@ internal static Class __CreateInstance(__Internal native, bool skipVTables = fal private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12073,7 +13408,7 @@ protected Class(void* native, bool skipVTables = false) public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Class.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12082,7 +13417,7 @@ public Class() public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Class.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12102,7 +13437,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -12386,32 +13721,79 @@ public uint SpecifiersCount public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal __IntPtr TemplatedDecl; + + [FieldOffset(232)] internal global::Std.Vector.__Internal Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -12465,7 +13847,7 @@ internal static Template __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12485,7 +13867,7 @@ protected Template(void* native, bool skipVTables = false) public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -12494,7 +13876,7 @@ public Template(global::CppSharp.Parser.AST.DeclarationKind kind) public Template() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12503,7 +13885,7 @@ public Template() public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12523,7 +13905,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -12579,32 +13961,79 @@ public uint ParametersCount public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal __IntPtr TemplatedDecl; + + [FieldOffset(232)] internal global::Std.Vector.__Internal Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -12643,7 +14072,7 @@ internal static TypeAliasTemplate __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12663,7 +14092,7 @@ protected TypeAliasTemplate(void* native, bool skipVTables = false) public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12672,7 +14101,7 @@ public TypeAliasTemplate() public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12692,40 +14121,89 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 240)] + [StructLayout(LayoutKind.Explicit, Size = 240)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal uint depth; + + [FieldOffset(228)] internal uint index; + + [FieldOffset(232)] internal byte isParameterPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -12764,7 +14242,7 @@ internal static TemplateParameter __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12784,7 +14262,7 @@ protected TemplateParameter(void* native, bool skipVTables = false) public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -12793,7 +14271,7 @@ public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12813,7 +14291,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -12864,35 +14342,88 @@ public bool IsParameterPack public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 264)] + [StructLayout(LayoutKind.Explicit, Size = 264)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal __IntPtr TemplatedDecl; + + [FieldOffset(232)] internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(256)] internal byte isParameterPack; + + [FieldOffset(257)] internal byte isPackExpansion; + + [FieldOffset(258)] internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -12931,7 +14462,7 @@ internal static TemplateTemplateParameter __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12951,7 +14482,7 @@ protected TemplateTemplateParameter(void* native, bool skipVTables = false) public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12960,7 +14491,7 @@ public TemplateTemplateParameter() public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12980,7 +14511,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13026,34 +14557,85 @@ public bool IsExpandedParameterPack public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 256)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal uint depth; + + [FieldOffset(228)] internal uint index; + + [FieldOffset(232)] internal byte isParameterPack; + + [FieldOffset(240)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13092,7 +14674,7 @@ internal static TypeTemplateParameter __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13112,7 +14694,7 @@ protected TypeTemplateParameter(void* native, bool skipVTables = false) public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13121,7 +14703,7 @@ public TypeTemplateParameter() public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13141,7 +14723,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13163,39 +14745,100 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 280)] + [StructLayout(LayoutKind.Explicit, Size = 280)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal uint depth; + + [FieldOffset(228)] internal uint index; + + [FieldOffset(232)] internal byte isParameterPack; + + [FieldOffset(240)] internal __IntPtr defaultArgument; + + [FieldOffset(248)] internal __IntPtr defaultArgumentNew; + + [FieldOffset(256)] internal uint position; + + [FieldOffset(260)] internal byte isPackExpansion; + + [FieldOffset(261)] internal byte isExpandedParameterPack; + + [FieldOffset(264)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13234,7 +14877,7 @@ internal static NonTypeTemplateParameter __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13254,7 +14897,7 @@ protected NonTypeTemplateParameter(void* native, bool skipVTables = false) public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13263,7 +14906,7 @@ public NonTypeTemplateParameter() public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13283,7 +14926,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13372,33 +15015,82 @@ public bool IsExpandedParameterPack public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 280)] + [StructLayout(LayoutKind.Explicit, Size = 280)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal __IntPtr TemplatedDecl; + + [FieldOffset(232)] internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(256)] internal global::Std.Vector.__Internal Specializations; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13419,12 +15111,6 @@ public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearSpecializations(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate18FindSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindSpecialization(__IntPtr __instance, __IntPtr usr); - - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate25FindPartialSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindPartialSpecialization(__IntPtr __instance, __IntPtr usr); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSpecializationsCount(__IntPtr __instance); } @@ -13455,7 +15141,7 @@ internal static ClassTemplate __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13475,7 +15161,7 @@ protected ClassTemplate(void* native, bool skipVTables = false) public ClassTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13484,7 +15170,7 @@ public ClassTemplate() public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13504,7 +15190,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13529,28 +15215,6 @@ public void ClearSpecializations() __Internal.ClearSpecializations(__Instance); } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - - public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindPartialSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - public uint SpecializationsCount { get @@ -13563,60 +15227,163 @@ public uint SpecializationsCount public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 656)] + [StructLayout(LayoutKind.Explicit, Size = 656)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(296)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(368)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(392)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(416)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(440)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] internal byte isAnonymous; + + [FieldOffset(496)] internal global::Std.Vector.__Internal Bases; + + [FieldOffset(520)] internal global::Std.Vector.__Internal Fields; + + [FieldOffset(544)] internal global::Std.Vector.__Internal Methods; + + [FieldOffset(568)] internal global::Std.Vector.__Internal Specifiers; + + [FieldOffset(592)] internal byte isPOD; + + [FieldOffset(593)] internal byte isAbstract; + + [FieldOffset(594)] internal byte isUnion; + + [FieldOffset(595)] internal byte isDynamic; + + [FieldOffset(596)] internal byte isPolymorphic; + + [FieldOffset(597)] internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(598)] internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(599)] internal byte hasNonTrivialDestructor; + + [FieldOffset(600)] internal byte isExternCContext; + + [FieldOffset(601)] internal byte isInjected; + + [FieldOffset(604)] internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(608)] internal __IntPtr layout; + + [FieldOffset(616)] internal __IntPtr templatedDecl; + + [FieldOffset(624)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(648)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13667,7 +15434,7 @@ internal static ClassTemplateSpecialization __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13687,7 +15454,7 @@ protected ClassTemplateSpecialization(void* native, bool skipVTables = false) public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13696,7 +15463,7 @@ public ClassTemplateSpecialization() public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13716,7 +15483,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13779,61 +15546,166 @@ public uint ArgumentsCount public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 680)] + [StructLayout(LayoutKind.Explicit, Size = 680)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(296)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(368)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(392)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(416)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(440)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] internal byte isAnonymous; + + [FieldOffset(496)] internal global::Std.Vector.__Internal Bases; + + [FieldOffset(520)] internal global::Std.Vector.__Internal Fields; + + [FieldOffset(544)] internal global::Std.Vector.__Internal Methods; + + [FieldOffset(568)] internal global::Std.Vector.__Internal Specifiers; + + [FieldOffset(592)] internal byte isPOD; + + [FieldOffset(593)] internal byte isAbstract; + + [FieldOffset(594)] internal byte isUnion; + + [FieldOffset(595)] internal byte isDynamic; + + [FieldOffset(596)] internal byte isPolymorphic; + + [FieldOffset(597)] internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(598)] internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(599)] internal byte hasNonTrivialDestructor; + + [FieldOffset(600)] internal byte isExternCContext; + + [FieldOffset(601)] internal byte isInjected; + + [FieldOffset(604)] internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(608)] internal __IntPtr layout; + + [FieldOffset(616)] internal __IntPtr templatedDecl; + + [FieldOffset(624)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(648)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + + [FieldOffset(656)] internal global::Std.Vector.__Internal Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13884,7 +15756,7 @@ internal static ClassTemplatePartialSpecialization __CreateInstance(__Internal n private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13904,7 +15776,7 @@ protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = fa public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13913,7 +15785,7 @@ public ClassTemplatePartialSpecialization() public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13933,7 +15805,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13970,33 +15842,82 @@ public uint ParametersCount public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 280)] + [StructLayout(LayoutKind.Explicit, Size = 280)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal __IntPtr TemplatedDecl; + + [FieldOffset(232)] internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(256)] internal global::Std.Vector.__Internal Specializations; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14017,9 +15938,6 @@ public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Templ [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearSpecializations(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindSpecialization(__IntPtr __instance, __IntPtr usr); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSpecializationsCount(__IntPtr __instance); } @@ -14050,7 +15968,7 @@ internal static FunctionTemplate __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14070,7 +15988,7 @@ protected FunctionTemplate(void* native, bool skipVTables = false) public FunctionTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14079,7 +15997,7 @@ public FunctionTemplate() public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14099,7 +16017,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14124,17 +16042,6 @@ public void ClearSpecializations() __Internal.ClearSpecializations(__Instance); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - public uint SpecializationsCount { get @@ -14147,12 +16054,19 @@ public uint SpecializationsCount public unsafe partial class FunctionTemplateSpecialization : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public partial struct __Internal { + [FieldOffset(0)] internal __IntPtr _template; + + [FieldOffset(8)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(32)] internal __IntPtr specializedFunction; + + [FieldOffset(40)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14221,7 +16135,7 @@ internal static FunctionTemplateSpecialization __CreateInstance(__Internal nativ private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14242,7 +16156,7 @@ protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14250,7 +16164,7 @@ public FunctionTemplateSpecialization() public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14275,7 +16189,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14352,33 +16266,82 @@ public uint ArgumentsCount public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 280)] + [StructLayout(LayoutKind.Explicit, Size = 280)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal __IntPtr TemplatedDecl; + + [FieldOffset(232)] internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(256)] internal global::Std.Vector.__Internal Specializations; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14399,12 +16362,6 @@ public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearSpecializations(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindSpecialization(__IntPtr __instance, __IntPtr usr); - - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindPartialSpecialization(__IntPtr __instance, __IntPtr usr); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSpecializationsCount(__IntPtr __instance); } @@ -14435,7 +16392,7 @@ internal static VarTemplate __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14455,7 +16412,7 @@ protected VarTemplate(void* native, bool skipVTables = false) public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14464,7 +16421,7 @@ public VarTemplate() public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14484,7 +16441,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14509,28 +16466,6 @@ public void ClearSpecializations() __Internal.ClearSpecializations(__Instance); } - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindPartialSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - public uint SpecializationsCount { get @@ -14543,37 +16478,94 @@ public uint SpecializationsCount public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 328)] + [StructLayout(LayoutKind.Explicit, Size = 328)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal byte isConstExpr; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(232)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Mangled; + + [FieldOffset(264)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(280)] internal __IntPtr initializer; + + [FieldOffset(288)] internal __IntPtr templatedDecl; + + [FieldOffset(296)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(320)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14624,7 +16616,7 @@ internal static VarTemplateSpecialization __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14644,7 +16636,7 @@ protected VarTemplateSpecialization(void* native, bool skipVTables = false) public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14653,7 +16645,7 @@ public VarTemplateSpecialization() public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14673,7 +16665,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14736,37 +16728,94 @@ public uint ArgumentsCount public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 328)] + [StructLayout(LayoutKind.Explicit, Size = 328)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal byte isConstExpr; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C mangled; + + [FieldOffset(232)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Mangled; + + [FieldOffset(264)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(280)] internal __IntPtr initializer; + + [FieldOffset(288)] internal __IntPtr templatedDecl; + + [FieldOffset(296)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(320)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14805,7 +16854,7 @@ internal static VarTemplatePartialSpecialization __CreateInstance(__Internal nat private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14825,7 +16874,7 @@ protected VarTemplatePartialSpecialization(void* native, bool skipVTables = fals public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14834,7 +16883,7 @@ public VarTemplatePartialSpecialization() public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14854,37 +16903,80 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class UnresolvedUsingTypename : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 224)] + [StructLayout(LayoutKind.Explicit, Size = 224)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14923,7 +17015,7 @@ internal static UnresolvedUsingTypename __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14943,7 +17035,7 @@ protected UnresolvedUsingTypename(void* native, bool skipVTables = false) public UnresolvedUsingTypename() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14952,7 +17044,7 @@ public UnresolvedUsingTypename() public UnresolvedUsingTypename(global::CppSharp.Parser.AST.UnresolvedUsingTypename _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14972,49 +17064,116 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 496)] + [StructLayout(LayoutKind.Explicit, Size = 496)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(296)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(368)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(392)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(416)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(440)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] internal byte isAnonymous; + + [FieldOffset(489)] internal byte isInline; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9NamespaceC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15053,7 +17212,7 @@ internal static Namespace __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15073,7 +17232,7 @@ protected Namespace(void* native, bool skipVTables = false) public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Namespace.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15082,7 +17241,7 @@ public Namespace() public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Namespace.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15102,7 +17261,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -15122,11 +17281,16 @@ public bool IsInline public unsafe partial class PreprocessedEntity : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] internal __IntPtr originalPtr; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15180,7 +17344,7 @@ internal static PreprocessedEntity __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -15201,7 +17365,7 @@ protected PreprocessedEntity(void* native, bool skipVTables = false) public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15209,7 +17373,7 @@ public PreprocessedEntity() public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); @@ -15229,7 +17393,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -15275,15 +17439,28 @@ public __IntPtr OriginalPtr public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] internal __IntPtr originalPtr; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.DeclarationKind kind; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C expression; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Expression; + + [FieldOffset(88)] internal int lineNumberStart; + + [FieldOffset(92)] internal int lineNumberEnd; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15294,6 +17471,18 @@ public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.Prepro [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition13getExpressionEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetExpression(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition13setExpressionEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetExpression(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new MacroDefinition __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -15322,7 +17511,7 @@ internal static MacroDefinition __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15342,7 +17531,7 @@ protected MacroDefinition(void* native, bool skipVTables = false) public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15351,7 +17540,7 @@ public MacroDefinition() public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15371,75 +17560,86 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string Name + public int LineNumberStart { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->lineNumberStart; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + ((__Internal*)__Instance)->lineNumberStart = value; } } - public string Expression + public int LineNumberEnd { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->expression)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->lineNumberEnd; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->expression), value); + ((__Internal*)__Instance)->lineNumberEnd = value; } } - public int LineNumberStart + public string Name { get { - return ((__Internal*)__Instance)->lineNumberStart; + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->lineNumberStart = value; + __Internal.SetName(__Instance, value); } } - public int LineNumberEnd + public string Expression { get { - return ((__Internal*)__Instance)->lineNumberEnd; + var ___ret = __Internal.GetExpression(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->lineNumberEnd = value; + __Internal.SetExpression(__Instance, value); } } } public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] internal __IntPtr originalPtr; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.DeclarationKind kind; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C text; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Text; + + [FieldOffset(88)] internal __IntPtr definition; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15450,6 +17650,18 @@ public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.Preproc [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new MacroExpansion __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -15478,7 +17690,7 @@ internal static MacroExpansion __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15498,7 +17710,7 @@ protected MacroExpansion(void* native, bool skipVTables = false) public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15507,7 +17719,7 @@ public MacroExpansion() public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15527,94 +17739,167 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string Name + public global::CppSharp.Parser.AST.MacroDefinition Definition { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var __result0 = global::CppSharp.Parser.AST.MacroDefinition.__GetOrCreateInstance(((__Internal*)__Instance)->definition, false); + return __result0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + ((__Internal*)__Instance)->definition = value is null ? __IntPtr.Zero : value.__Instance; } } - public string Text + public string Name { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetName(__Instance, value); } } - public global::CppSharp.Parser.AST.MacroDefinition Definition + public string Text { get { - var __result0 = global::CppSharp.Parser.AST.MacroDefinition.__GetOrCreateInstance(((__Internal*)__Instance)->definition, false); - return __result0; + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->definition = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetText(__Instance, value); } } } public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 560)] + [StructLayout(LayoutKind.Explicit, Size = 560)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Name; + + [FieldOffset(72)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C USR; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C debugText; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C DebugText; + + [FieldOffset(136)] internal byte isIncomplete; + + [FieldOffset(137)] internal byte isDependent; + + [FieldOffset(138)] internal byte isImplicit; + + [FieldOffset(139)] internal byte isInvalid; + + [FieldOffset(140)] internal byte isDeprecated; + + [FieldOffset(144)] internal __IntPtr completeDeclaration; + + [FieldOffset(152)] internal uint definitionOrder; + + [FieldOffset(160)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(208)] internal __IntPtr originalPtr; + + [FieldOffset(216)] internal __IntPtr comment; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(296)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(368)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(392)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(416)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(440)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(488)] internal byte isAnonymous; + + [FieldOffset(489)] internal byte isInline; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; + + [FieldOffset(496)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C FileName; + + [FieldOffset(528)] internal byte isSystemHeader; + + [FieldOffset(536)] internal global::Std.Vector.__Internal Macros; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15635,6 +17920,12 @@ public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namesp [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearMacros(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11getFileNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFileName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11setFileNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetFileName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetMacrosCount(__IntPtr __instance); } @@ -15665,7 +17956,7 @@ internal static TranslationUnit __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15685,7 +17976,7 @@ protected TranslationUnit(void* native, bool skipVTables = false) public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15694,7 +17985,7 @@ public TranslationUnit() public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15714,7 +18005,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -15739,30 +18030,30 @@ public void ClearMacros() __Internal.ClearMacros(__Instance); } - public string FileName + public bool IsSystemHeader { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isSystemHeader != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + ((__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); } } - public bool IsSystemHeader + public string FileName { get { - return ((__Internal*)__Instance)->isSystemHeader != 0; + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); + __Internal.SetFileName(__Instance, value); } } @@ -15778,9 +18069,10 @@ public uint MacrosCount public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internal TranslationUnits; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContextC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15792,9 +18084,6 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContextD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindOrCreateModule(__IntPtr __instance, __IntPtr File); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj", CallingConvention = __CallingConvention.Cdecl)] internal static extern __IntPtr GetTranslationUnits(__IntPtr __instance, uint i); @@ -15852,7 +18141,7 @@ internal static ASTContext __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15873,7 +18162,7 @@ protected ASTContext(void* native, bool skipVTables = false) public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15881,7 +18170,7 @@ public ASTContext() public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15906,21 +18195,10 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindOrCreateModule(__Instance, __arg0); - __basicString0.Dispose(disposing: true, callNativeDtor:false); - var __result0 = global::CppSharp.Parser.AST.TranslationUnit.__GetOrCreateInstance(___ret, false); - return __result0; - } - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) { var ___ret = __Internal.GetTranslationUnits(__Instance, i); @@ -16093,12 +18371,19 @@ public enum StmtClass public unsafe partial class Stmt : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4StmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16155,7 +18440,7 @@ internal static Stmt __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16176,7 +18461,7 @@ protected Stmt(void* native, bool skipVTables = false) public Stmt() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16184,7 +18469,7 @@ public Stmt() public Stmt(global::CppSharp.Parser.AST.StmtClass klass) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -16192,7 +18477,7 @@ public Stmt(global::CppSharp.Parser.AST.StmtClass klass) public Stmt(global::CppSharp.Parser.AST.Stmt _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Stmt.__Internal*) _0.__Instance); @@ -16212,7 +18497,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -16278,15 +18563,28 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class DeclStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internal decls; + + [FieldOffset(48)] internal byte isSingleDecl; + + [FieldOffset(56)] internal __IntPtr singleDecl; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8DeclStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16337,7 +18635,7 @@ internal static DeclStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DeclStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -16357,7 +18655,7 @@ protected DeclStmt(void* native, bool skipVTables = false) public DeclStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16366,7 +18664,7 @@ public DeclStmt() public DeclStmt(global::CppSharp.Parser.AST.DeclStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -16386,7 +18684,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -16450,14 +18748,25 @@ public uint GetdeclsCount public unsafe partial class NullStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal semiLoc; + + [FieldOffset(24)] internal byte hasLeadingEmptyMacro; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8NullStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16493,7 +18802,7 @@ internal static NullStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16513,7 +18822,7 @@ protected NullStmt(void* native, bool skipVTables = false) public NullStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16522,7 +18831,7 @@ public NullStmt() public NullStmt(global::CppSharp.Parser.AST.NullStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NullStmt.__Internal*) _0.__Instance); @@ -16557,19 +18866,40 @@ public bool HasLeadingEmptyMacro public unsafe partial class CompoundStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internal body; + + [FieldOffset(48)] internal byte body_empty; + + [FieldOffset(52)] internal uint size; + + [FieldOffset(56)] internal __IntPtr body_front; + + [FieldOffset(64)] internal __IntPtr body_back; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal lBracLoc; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CompoundStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16620,7 +18950,7 @@ internal static CompoundStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CompoundStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -16640,7 +18970,7 @@ protected CompoundStmt(void* native, bool skipVTables = false) public CompoundStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16649,7 +18979,7 @@ public CompoundStmt() public CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -16669,7 +18999,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -16786,15 +19116,28 @@ public uint GetbodyCount public unsafe partial class SwitchCase : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(32)] internal __IntPtr subStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SwitchCaseC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16833,7 +19176,7 @@ internal static SwitchCase __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16853,7 +19196,7 @@ protected SwitchCase(void* native, bool skipVTables = false) public SwitchCase() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16862,7 +19205,7 @@ public SwitchCase() public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -16871,7 +19214,7 @@ public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SwitchCase.__Internal*) _0.__Instance); @@ -16925,20 +19268,43 @@ public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) public unsafe partial class CaseStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(32)] internal __IntPtr subStmt; + + [FieldOffset(40)] internal global::CppSharp.Parser.SourceLocation.__Internal caseLoc; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(48)] internal __IntPtr lHS; + + [FieldOffset(56)] internal __IntPtr rHS; + + [FieldOffset(64)] internal byte caseStmtIsGNURange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CaseStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16974,7 +19340,7 @@ internal static CaseStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16994,7 +19360,7 @@ protected CaseStmt(void* native, bool skipVTables = false) public CaseStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17003,7 +19369,7 @@ public CaseStmt() public CaseStmt(global::CppSharp.Parser.AST.CaseStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CaseStmt.__Internal*) _0.__Instance); @@ -17079,16 +19445,31 @@ public bool CaseStmtIsGNURange public unsafe partial class DefaultStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(32)] internal __IntPtr subStmt; + + [FieldOffset(40)] internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DefaultStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17124,7 +19505,7 @@ internal static DefaultStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17144,7 +19525,7 @@ protected DefaultStmt(void* native, bool skipVTables = false) public DefaultStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17153,7 +19534,7 @@ public DefaultStmt() public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) _0.__Instance); @@ -17175,15 +19556,28 @@ public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) public unsafe partial class LabelStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal identLoc; + + [FieldOffset(24)] internal __IntPtr subStmt; + + [FieldOffset(32)] internal __IntPtr name; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9LabelStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17220,7 +19614,7 @@ internal static LabelStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17240,7 +19634,7 @@ protected LabelStmt(void* native, bool skipVTables = false) public LabelStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17249,7 +19643,7 @@ public LabelStmt() public LabelStmt(global::CppSharp.Parser.AST.LabelStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) _0.__Instance); @@ -17312,14 +19706,25 @@ public string Name public unsafe partial class AttributedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal attrLoc; + + [FieldOffset(24)] internal __IntPtr subStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14AttributedStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17355,7 +19760,7 @@ internal static AttributedStmt __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17375,7 +19780,7 @@ protected AttributedStmt(void* native, bool skipVTables = false) public AttributedStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17384,7 +19789,7 @@ public AttributedStmt() public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) _0.__Instance); @@ -17420,24 +19825,55 @@ public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) public unsafe partial class IfStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr cond; + + [FieldOffset(32)] internal __IntPtr then; + + [FieldOffset(40)] internal __IntPtr _else; + + [FieldOffset(48)] internal __IntPtr init; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal ifLoc; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal elseLoc; + + [FieldOffset(64)] internal byte _constexpr; + + [FieldOffset(65)] internal byte hasInitStorage; + + [FieldOffset(66)] internal byte hasVarStorage; + + [FieldOffset(67)] internal byte hasElseStorage; + + [FieldOffset(72)] internal __IntPtr conditionVariableDeclStmt; + + [FieldOffset(80)] internal byte isObjCAvailabilityCheck; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6IfStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17473,7 +19909,7 @@ internal static IfStmt __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17493,7 +19929,7 @@ protected IfStmt(void* native, bool skipVTables = false) public IfStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17502,7 +19938,7 @@ public IfStmt() public IfStmt(global::CppSharp.Parser.AST.IfStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IfStmt.__Internal*) _0.__Instance); @@ -17672,20 +20108,43 @@ public bool IsObjCAvailabilityCheck public unsafe partial class SwitchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr cond; + + [FieldOffset(32)] internal __IntPtr body; + + [FieldOffset(40)] internal __IntPtr init; + + [FieldOffset(48)] internal global::CppSharp.Parser.SourceLocation.__Internal switchLoc; + + [FieldOffset(52)] internal byte hasInitStorage; + + [FieldOffset(53)] internal byte hasVarStorage; + + [FieldOffset(56)] internal __IntPtr conditionVariableDeclStmt; + + [FieldOffset(64)] internal byte isAllEnumCasesCovered; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SwitchStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17721,7 +20180,7 @@ internal static SwitchStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17741,7 +20200,7 @@ protected SwitchStmt(void* native, bool skipVTables = false) public SwitchStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17750,7 +20209,7 @@ public SwitchStmt() public SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) _0.__Instance); @@ -17867,17 +20326,34 @@ public bool IsAllEnumCasesCovered public unsafe partial class WhileStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr cond; + + [FieldOffset(32)] internal __IntPtr body; + + [FieldOffset(40)] internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(44)] internal byte hasVarStorage; + + [FieldOffset(48)] internal __IntPtr conditionVariableDeclStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9WhileStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17913,7 +20389,7 @@ internal static WhileStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17933,7 +20409,7 @@ protected WhileStmt(void* native, bool skipVTables = false) public WhileStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17942,7 +20418,7 @@ public WhileStmt() public WhileStmt(global::CppSharp.Parser.AST.WhileStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.WhileStmt.__Internal*) _0.__Instance); @@ -18019,17 +20495,34 @@ public bool HasVarStorage public unsafe partial class DoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr cond; + + [FieldOffset(32)] internal __IntPtr body; + + [FieldOffset(40)] internal global::CppSharp.Parser.SourceLocation.__Internal doLoc; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(48)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6DoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18065,7 +20558,7 @@ internal static DoStmt __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18085,7 +20578,7 @@ protected DoStmt(void* native, bool skipVTables = false) public DoStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18094,7 +20587,7 @@ public DoStmt() public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DoStmt.__Internal*) _0.__Instance); @@ -18170,20 +20663,43 @@ public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) public unsafe partial class ForStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr init; + + [FieldOffset(32)] internal __IntPtr cond; + + [FieldOffset(40)] internal __IntPtr inc; + + [FieldOffset(48)] internal __IntPtr body; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(72)] internal __IntPtr conditionVariableDeclStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7ForStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18219,7 +20735,7 @@ internal static ForStmt __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18239,7 +20755,7 @@ protected ForStmt(void* native, bool skipVTables = false) public ForStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18248,7 +20764,7 @@ public ForStmt() public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ForStmt.__Internal*) _0.__Instance); @@ -18366,14 +20882,25 @@ public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) public unsafe partial class GotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8GotoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18409,7 +20936,7 @@ internal static GotoStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18429,7 +20956,7 @@ protected GotoStmt(void* native, bool skipVTables = false) public GotoStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18438,7 +20965,7 @@ public GotoStmt() public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GotoStmt.__Internal*) _0.__Instance); @@ -18473,15 +21000,28 @@ public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) public unsafe partial class IndirectGotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal starLoc; + + [FieldOffset(32)] internal __IntPtr target; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16IndirectGotoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18517,7 +21057,7 @@ internal static IndirectGotoStmt __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18537,7 +21077,7 @@ protected IndirectGotoStmt(void* native, bool skipVTables = false) public IndirectGotoStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18546,7 +21086,7 @@ public IndirectGotoStmt() public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) _0.__Instance); @@ -18595,13 +21135,22 @@ public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) public unsafe partial class ContinueStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal continueLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12ContinueStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18637,7 +21186,7 @@ internal static ContinueStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18657,7 +21206,7 @@ protected ContinueStmt(void* native, bool skipVTables = false) public ContinueStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18666,7 +21215,7 @@ public ContinueStmt() public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) _0.__Instance); @@ -18688,13 +21237,22 @@ public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) public unsafe partial class BreakStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal breakLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9BreakStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18730,7 +21288,7 @@ internal static BreakStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18750,7 +21308,7 @@ protected BreakStmt(void* native, bool skipVTables = false) public BreakStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18759,7 +21317,7 @@ public BreakStmt() public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BreakStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BreakStmt.__Internal*) _0.__Instance); @@ -18781,14 +21339,25 @@ public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) public unsafe partial class ReturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr retValue; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal returnLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ReturnStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18824,7 +21393,7 @@ internal static ReturnStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18844,7 +21413,7 @@ protected ReturnStmt(void* native, bool skipVTables = false) public ReturnStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18853,7 +21422,7 @@ public ReturnStmt() public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) _0.__Instance); @@ -18889,21 +21458,46 @@ public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) public unsafe partial class AsmStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internal inputs; + + [FieldOffset(48)] internal global::Std.Vector.__Internal outputs; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(76)] internal byte simple; + + [FieldOffset(77)] internal byte _volatile; + + [FieldOffset(80)] internal uint numOutputs; + + [FieldOffset(84)] internal uint numPlusOperands; + + [FieldOffset(88)] internal uint numInputs; + + [FieldOffset(92)] internal uint numClobbers; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18969,7 +21563,7 @@ internal static AsmStmt __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.AsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -18989,7 +21583,7 @@ protected AsmStmt(void* native, bool skipVTables = false) public AsmStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18998,7 +21592,7 @@ public AsmStmt() public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -19007,7 +21601,7 @@ public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) public AsmStmt(global::CppSharp.Parser.AST.AsmStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19027,7 +21621,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19190,22 +21784,49 @@ public uint GetoutputsCount public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internal inputs; + + [FieldOffset(48)] internal global::Std.Vector.__Internal outputs; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(76)] internal byte simple; + + [FieldOffset(77)] internal byte _volatile; + + [FieldOffset(80)] internal uint numOutputs; + + [FieldOffset(84)] internal uint numPlusOperands; + + [FieldOffset(88)] internal uint numInputs; + + [FieldOffset(92)] internal uint numClobbers; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19220,13 +21841,22 @@ public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, ID public unsafe partial class AsmStringPiece : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public partial struct __Internal { + [FieldOffset(0)] internal byte isString; + + [FieldOffset(1)] internal byte isOperand; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C String; + + [FieldOffset(40)] internal uint operandNo; + + [FieldOffset(44)] internal sbyte modifier; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19237,6 +21867,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPiece9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPiece9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public enum Kind @@ -19289,7 +21925,7 @@ internal static AsmStringPiece __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -19310,7 +21946,7 @@ protected AsmStringPiece(void* native, bool skipVTables = false) public AsmStringPiece() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19318,7 +21954,7 @@ public AsmStringPiece() public AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19343,7 +21979,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19373,43 +22009,43 @@ public bool IsOperand } } - public string String + public uint OperandNo { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->@string)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->operandNo; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->@string), value); + ((__Internal*)__Instance)->operandNo = value; } } - public uint OperandNo + public sbyte Modifier { get { - return ((__Internal*)__Instance)->operandNo; + return ((__Internal*)__Instance)->modifier; } set { - ((__Internal*)__Instance)->operandNo = value; + ((__Internal*)__Instance)->modifier = value; } } - public sbyte Modifier + public string String { get { - return ((__Internal*)__Instance)->modifier; + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->modifier = value; + __Internal.SetString(__Instance, value); } } } @@ -19440,7 +22076,7 @@ internal static GCCAsmStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.GCCAsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -19460,7 +22096,7 @@ protected GCCAsmStmt(void* native, bool skipVTables = false) public GCCAsmStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19469,7 +22105,7 @@ public GCCAsmStmt() public GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19489,7 +22125,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19509,26 +22145,59 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internal inputs; + + [FieldOffset(48)] internal global::Std.Vector.__Internal outputs; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(76)] internal byte simple; + + [FieldOffset(77)] internal byte _volatile; + + [FieldOffset(80)] internal uint numOutputs; + + [FieldOffset(84)] internal uint numPlusOperands; + + [FieldOffset(88)] internal uint numInputs; + + [FieldOffset(92)] internal uint numClobbers; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(100)] internal byte hasBraces; + + [FieldOffset(104)] internal uint numAsmToks; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C asmString; + + [FieldOffset(112)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C AsmString; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -19538,6 +22207,12 @@ public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDi [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmtD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmt12getAsmStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetAsmString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmt12setAsmStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetAsmString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new MSAsmStmt __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -19566,7 +22241,7 @@ internal static MSAsmStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MSAsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -19586,7 +22261,7 @@ protected MSAsmStmt(void* native, bool skipVTables = false) public MSAsmStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19595,7 +22270,7 @@ public MSAsmStmt() public MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19615,7 +22290,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19662,28 +22337,41 @@ public string AsmString { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->asmString)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetAsmString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->asmString), value); + __Internal.SetAsmString(__Instance, value); } } } public unsafe partial class SEHExceptStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal exceptLoc; + + [FieldOffset(24)] internal __IntPtr filterExpr; + + [FieldOffset(32)] internal __IntPtr block; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13SEHExceptStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19719,7 +22407,7 @@ internal static SEHExceptStmt __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -19739,7 +22427,7 @@ protected SEHExceptStmt(void* native, bool skipVTables = false) public SEHExceptStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19748,7 +22436,7 @@ public SEHExceptStmt() public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) _0.__Instance); @@ -19798,14 +22486,25 @@ public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) public unsafe partial class SEHFinallyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal finallyLoc; + + [FieldOffset(24)] internal __IntPtr block; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14SEHFinallyStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19841,7 +22540,7 @@ internal static SEHFinallyStmt __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -19861,7 +22560,7 @@ protected SEHFinallyStmt(void* native, bool skipVTables = false) public SEHFinallyStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19870,7 +22569,7 @@ public SEHFinallyStmt() public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) _0.__Instance); @@ -19906,18 +22605,37 @@ public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) public unsafe partial class SEHTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(24)] internal byte isCXXTry; + + [FieldOffset(32)] internal __IntPtr tryBlock; + + [FieldOffset(40)] internal __IntPtr handler; + + [FieldOffset(48)] internal __IntPtr exceptHandler; + + [FieldOffset(56)] internal __IntPtr finallyHandler; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SEHTryStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19953,7 +22671,7 @@ internal static SEHTryStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -19973,7 +22691,7 @@ protected SEHTryStmt(void* native, bool skipVTables = false) public SEHTryStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19982,7 +22700,7 @@ public SEHTryStmt() public SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) _0.__Instance); @@ -20073,13 +22791,22 @@ public bool IsCXXTry public unsafe partial class SEHLeaveStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal leaveLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12SEHLeaveStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20115,7 +22842,7 @@ internal static SEHLeaveStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20135,7 +22862,7 @@ protected SEHLeaveStmt(void* native, bool skipVTables = false) public SEHLeaveStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20144,7 +22871,7 @@ public SEHLeaveStmt() public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) _0.__Instance); @@ -20166,15 +22893,28 @@ public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) public unsafe partial class CapturedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internal capture_inits; + + [FieldOffset(48)] internal __IntPtr capturedStmt; + + [FieldOffset(56)] internal uint capture_size; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20209,14 +22949,25 @@ public enum VariableCaptureKind public unsafe partial class Capture : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind captureKind; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(8)] internal byte capturesThis; + + [FieldOffset(9)] internal byte capturesVariable; + + [FieldOffset(10)] internal byte capturesVariableByCopy; + + [FieldOffset(11)] internal byte capturesVariableArrayType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmt7CaptureC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20270,7 +23021,7 @@ internal static Capture __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20291,7 +23042,7 @@ protected Capture(void* native, bool skipVTables = false) public Capture() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20299,7 +23050,7 @@ public Capture() public Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) _0.__Instance); @@ -20319,7 +23070,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -20428,7 +23179,7 @@ internal static CapturedStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CapturedStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -20448,7 +23199,7 @@ protected CapturedStmt(void* native, bool skipVTables = false) public CapturedStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20457,7 +23208,7 @@ public CapturedStmt() public CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -20477,7 +23228,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -20541,15 +23292,28 @@ public uint GetcaptureInitsCount public unsafe partial class CXXCatchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal catchLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal caughtType; + + [FieldOffset(40)] internal __IntPtr handlerBlock; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CXXCatchStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20585,7 +23349,7 @@ internal static CXXCatchStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20605,7 +23369,7 @@ protected CXXCatchStmt(void* native, bool skipVTables = false) public CXXCatchStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20614,7 +23378,7 @@ public CXXCatchStmt() public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) _0.__Instance); @@ -20665,15 +23429,28 @@ public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) public unsafe partial class CXXTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(24)] internal __IntPtr tryBlock; + + [FieldOffset(32)] internal uint numHandlers; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXTryStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20709,7 +23486,7 @@ internal static CXXTryStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20729,7 +23506,7 @@ protected CXXTryStmt(void* native, bool skipVTables = false) public CXXTryStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20738,7 +23515,7 @@ public CXXTryStmt() public CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) _0.__Instance); @@ -20787,25 +23564,58 @@ public uint NumHandlers public unsafe partial class CXXForRangeStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr init; + + [FieldOffset(32)] internal __IntPtr rangeInit; + + [FieldOffset(40)] internal __IntPtr cond; + + [FieldOffset(48)] internal __IntPtr inc; + + [FieldOffset(56)] internal __IntPtr body; + + [FieldOffset(64)] internal __IntPtr rangeStmt; + + [FieldOffset(72)] internal __IntPtr beginStmt; + + [FieldOffset(80)] internal __IntPtr endStmt; + + [FieldOffset(88)] internal __IntPtr loopVarStmt; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal coawaitLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15CXXForRangeStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20841,7 +23651,7 @@ internal static CXXForRangeStmt __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20861,7 +23671,7 @@ protected CXXForRangeStmt(void* native, bool skipVTables = false) public CXXForRangeStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20870,7 +23680,7 @@ public CXXForRangeStmt() public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) _0.__Instance); @@ -21057,16 +23867,31 @@ public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) public unsafe partial class MSDependentExistsStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal byte isIfExists; + + [FieldOffset(25)] internal byte isIfNotExists; + + [FieldOffset(32)] internal __IntPtr subStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21MSDependentExistsStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21102,7 +23927,7 @@ internal static MSDependentExistsStmt __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21122,7 +23947,7 @@ protected MSDependentExistsStmt(void* native, bool skipVTables = false) public MSDependentExistsStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21131,7 +23956,7 @@ public MSDependentExistsStmt() public MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) _0.__Instance); @@ -21193,25 +24018,58 @@ public bool IsIfNotExists public unsafe partial class CoroutineBodyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal byte hasDependentPromiseType; + + [FieldOffset(24)] internal __IntPtr body; + + [FieldOffset(32)] internal __IntPtr promiseDeclStmt; + + [FieldOffset(40)] internal __IntPtr initSuspendStmt; + + [FieldOffset(48)] internal __IntPtr finalSuspendStmt; + + [FieldOffset(56)] internal __IntPtr exceptionHandler; + + [FieldOffset(64)] internal __IntPtr fallthroughHandler; + + [FieldOffset(72)] internal __IntPtr allocate; + + [FieldOffset(80)] internal __IntPtr deallocate; + + [FieldOffset(88)] internal __IntPtr returnValueInit; + + [FieldOffset(96)] internal __IntPtr resultDecl; + + [FieldOffset(104)] internal __IntPtr returnStmt; + + [FieldOffset(112)] internal __IntPtr returnStmtOnAllocFailure; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CoroutineBodyStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21240,7 +24098,7 @@ public enum SubStmt public unsafe partial class CtorArgs : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CoroutineBodyStmt8CtorArgsC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21294,7 +24152,7 @@ internal static CtorArgs __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21315,7 +24173,7 @@ protected CtorArgs(void* native, bool skipVTables = false) public CtorArgs() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21323,7 +24181,7 @@ public CtorArgs() public CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) _0.__Instance); @@ -21343,7 +24201,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -21374,7 +24232,7 @@ internal static CoroutineBodyStmt __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21394,7 +24252,7 @@ protected CoroutineBodyStmt(void* native, bool skipVTables = false) public CoroutineBodyStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21403,7 +24261,7 @@ public CoroutineBodyStmt() public CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) _0.__Instance); @@ -21593,16 +24451,31 @@ public bool HasDependentPromiseType public unsafe partial class CoreturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal byte isImplicit; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(32)] internal __IntPtr operand; + + [FieldOffset(40)] internal __IntPtr promiseCall; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CoreturnStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21645,7 +24518,7 @@ internal static CoreturnStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21665,7 +24538,7 @@ protected CoreturnStmt(void* native, bool skipVTables = false) public CoreturnStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21674,7 +24547,7 @@ public CoreturnStmt() public CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) _0.__Instance); @@ -21930,26 +24803,61 @@ public enum UnaryExprOrTypeTrait public unsafe partial class Expr : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4ExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22028,16 +24936,31 @@ public enum NullPointerConstantValueDependence public unsafe partial class Classification : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.Expr.Classification.Kinds kind; + + [FieldOffset(4)] internal global::CppSharp.Parser.AST.Expr.Classification.ModifiableType modifiable; + + [FieldOffset(8)] internal byte isLValue; + + [FieldOffset(9)] internal byte isXValue; + + [FieldOffset(10)] internal byte isGLValue; + + [FieldOffset(11)] internal byte isPRValue; + + [FieldOffset(12)] internal byte isRValue; + + [FieldOffset(13)] internal byte isModifiable; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4Expr14ClassificationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22122,7 +25045,7 @@ internal static Classification __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22143,7 +25066,7 @@ protected Classification(void* native, bool skipVTables = false) public Classification() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22151,7 +25074,7 @@ public Classification() public Classification(global::CppSharp.Parser.AST.Expr.Classification _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) _0.__Instance); @@ -22171,7 +25094,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -22306,7 +25229,7 @@ internal static Expr __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22326,7 +25249,7 @@ protected Expr(void* native, bool skipVTables = false) public Expr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22335,7 +25258,7 @@ public Expr() public Expr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -22344,7 +25267,7 @@ public Expr(global::CppSharp.Parser.AST.StmtClass klass) public Expr(global::CppSharp.Parser.AST.Expr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Expr.__Internal*) _0.__Instance); @@ -22544,27 +25467,64 @@ public bool HasPlaceholderType public unsafe partial class FullExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8FullExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22603,7 +25563,7 @@ internal static FullExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22623,7 +25583,7 @@ protected FullExpr(void* native, bool skipVTables = false) public FullExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22632,7 +25592,7 @@ public FullExpr() public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -22641,7 +25601,7 @@ public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FullExpr.__Internal*) _0.__Instance); @@ -22669,27 +25629,64 @@ public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) public unsafe partial class ConstantExpr : global::CppSharp.Parser.AST.FullExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12ConstantExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22725,7 +25722,7 @@ internal static ConstantExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22745,7 +25742,7 @@ protected ConstantExpr(void* native, bool skipVTables = false) public ConstantExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22754,7 +25751,7 @@ public ConstantExpr() public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) _0.__Instance); @@ -22763,29 +25760,70 @@ public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) public unsafe partial class OpaqueValueExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isUnique; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal __IntPtr sourceExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15OpaqueValueExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22821,7 +25859,7 @@ internal static OpaqueValueExpr __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22841,7 +25879,7 @@ protected OpaqueValueExpr(void* native, bool skipVTables = false) public OpaqueValueExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22850,7 +25888,7 @@ public OpaqueValueExpr() public OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) _0.__Instance); @@ -22899,38 +25937,97 @@ public bool IsUnique public unsafe partial class DeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal byte hadMultipleCandidates; + + [FieldOffset(81)] internal byte hasQualifier; + + [FieldOffset(88)] internal __IntPtr foundDecl; + + [FieldOffset(96)] internal byte hasTemplateKWAndArgsInfo; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(112)] internal byte hasTemplateKeyword; + + [FieldOffset(113)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(116)] internal uint numTemplateArgs; + + [FieldOffset(120)] internal byte refersToEnclosingVariableOrCapture; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DeclRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22966,7 +26063,7 @@ internal static DeclRefExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22986,7 +26083,7 @@ protected DeclRefExpr(void* native, bool skipVTables = false) public DeclRefExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22995,7 +26092,7 @@ public DeclRefExpr() public DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) _0.__Instance); @@ -23161,28 +26258,67 @@ public bool RefersToEnclosingVariableOrCapture public unsafe partial class IntegerLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal ulong value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14IntegerLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23218,7 +26354,7 @@ internal static IntegerLiteral __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23238,7 +26374,7 @@ protected IntegerLiteral(void* native, bool skipVTables = false) public IntegerLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23247,7 +26383,7 @@ public IntegerLiteral() public IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) _0.__Instance); @@ -23282,28 +26418,67 @@ public ulong Value public unsafe partial class FixedPointLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal ulong value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17FixedPointLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23339,7 +26514,7 @@ internal static FixedPointLiteral __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23359,7 +26534,7 @@ protected FixedPointLiteral(void* native, bool skipVTables = false) public FixedPointLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23368,7 +26543,7 @@ public FixedPointLiteral() public FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) _0.__Instance); @@ -23403,29 +26578,70 @@ public ulong Value public unsafe partial class CharacterLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind kind; + + [FieldOffset(84)] internal uint value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CharacterLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23470,7 +26686,7 @@ internal static CharacterLiteral __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23490,7 +26706,7 @@ protected CharacterLiteral(void* native, bool skipVTables = false) public CharacterLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23499,7 +26715,7 @@ public CharacterLiteral() public CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) _0.__Instance); @@ -23547,29 +26763,70 @@ public uint Value public unsafe partial class FloatingLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte exact; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal double valueAsApproximateDouble; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15FloatingLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23605,7 +26862,7 @@ internal static FloatingLiteral __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23625,7 +26882,7 @@ protected FloatingLiteral(void* native, bool skipVTables = false) public FloatingLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23634,7 +26891,7 @@ public FloatingLiteral() public FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) _0.__Instance); @@ -23682,27 +26939,64 @@ public double ValueAsApproximateDouble public unsafe partial class ImaginaryLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ImaginaryLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23738,7 +27032,7 @@ internal static ImaginaryLiteral __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23758,7 +27052,7 @@ protected ImaginaryLiteral(void* native, bool skipVTables = false) public ImaginaryLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23767,7 +27061,7 @@ public ImaginaryLiteral() public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) _0.__Instance); @@ -23790,41 +27084,106 @@ public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 176)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C @string; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C bytes; + + [FieldOffset(80)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C String; + + [FieldOffset(112)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Bytes; + + [FieldOffset(144)] internal uint byteLength; + + [FieldOffset(148)] internal uint length; + + [FieldOffset(152)] internal uint charByteWidth; + + [FieldOffset(156)] internal global::CppSharp.Parser.AST.StringLiteral.StringKind kind; + + [FieldOffset(160)] internal byte isAscii; + + [FieldOffset(161)] internal byte isWide; + + [FieldOffset(162)] internal byte isUTF8; + + [FieldOffset(163)] internal byte isUTF16; + + [FieldOffset(164)] internal byte isUTF32; + + [FieldOffset(165)] internal byte isPascal; + + [FieldOffset(166)] internal byte containsNonAscii; + + [FieldOffset(167)] internal byte containsNonAsciiOrNull; + + [FieldOffset(168)] internal uint numConcatenated; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23835,6 +27194,18 @@ public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, ID [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteralD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral8getBytesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBytes(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral8setBytesEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBytes(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public enum StringKind @@ -23872,7 +27243,7 @@ internal static StringLiteral __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.StringLiteral.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -23892,7 +27263,7 @@ protected StringLiteral(void* native, bool skipVTables = false) public StringLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23901,7 +27272,7 @@ public StringLiteral() public StringLiteral(global::CppSharp.Parser.AST.StringLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -23921,38 +27292,10 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string String - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->@string)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->@string), value); - } - } - - public string Bytes - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->bytes)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->bytes), value); - } - } - public uint ByteLength { get @@ -24121,32 +27464,99 @@ public uint NumConcatenated ((__Internal*)__Instance)->numConcatenated = value; } } + + public string String + { + get + { + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetString(__Instance, value); + } + } + + public string Bytes + { + get + { + var ___ret = __Internal.GetBytes(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetBytes(__Instance, value); + } + } } public unsafe partial class PredefinedExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14PredefinedExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24194,7 +27604,7 @@ internal static PredefinedExpr __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24214,7 +27624,7 @@ protected PredefinedExpr(void* native, bool skipVTables = false) public PredefinedExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24223,7 +27633,7 @@ public PredefinedExpr() public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) _0.__Instance); @@ -24258,29 +27668,70 @@ public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) public unsafe partial class ParenExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lParen; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rParen; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ParenExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24316,7 +27767,7 @@ internal static ParenExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24336,7 +27787,7 @@ protected ParenExpr(void* native, bool skipVTables = false) public ParenExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24345,7 +27796,7 @@ public ParenExpr() public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenExpr.__Internal*) _0.__Instance); @@ -24394,37 +27845,94 @@ public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) public unsafe partial class UnaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.UnaryOperatorKind opcode; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(92)] internal byte canOverflow; + + [FieldOffset(93)] internal byte isPrefix; + + [FieldOffset(94)] internal byte isPostfix; + + [FieldOffset(95)] internal byte isIncrementOp; + + [FieldOffset(96)] internal byte isDecrementOp; + + [FieldOffset(97)] internal byte isIncrementDecrementOp; + + [FieldOffset(98)] internal byte isArithmeticOp; + + [FieldOffset(99)] internal byte isFPContractableWithinStatement; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13UnaryOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24460,7 +27968,7 @@ internal static UnaryOperator __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24480,7 +27988,7 @@ protected UnaryOperator(void* native, bool skipVTables = false) public UnaryOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24489,7 +27997,7 @@ public UnaryOperator() public UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) _0.__Instance); @@ -24642,30 +28150,73 @@ public bool IsFPContractableWithinStatement public unsafe partial class OffsetOfExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] internal uint numComponents; + + [FieldOffset(88)] internal uint numExpressions; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OffsetOfExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24701,7 +28252,7 @@ internal static OffsetOfExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24721,7 +28272,7 @@ protected OffsetOfExpr(void* native, bool skipVTables = false) public OffsetOfExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24730,7 +28281,7 @@ public OffsetOfExpr() public OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) _0.__Instance); @@ -24791,33 +28342,82 @@ public uint NumExpressions public unsafe partial class UnaryExprOrTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.UnaryExprOrTypeTrait kind; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(88)] internal byte isArgumentType; + + [FieldOffset(96)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal argumentType; + + [FieldOffset(112)] internal __IntPtr argumentExpr; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeOfArgument; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24UnaryExprOrTypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24853,7 +28453,7 @@ internal static UnaryExprOrTypeTraitExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24873,7 +28473,7 @@ protected UnaryExprOrTypeTraitExpr(void* native, bool skipVTables = false) public UnaryExprOrTypeTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24882,7 +28482,7 @@ public UnaryExprOrTypeTraitExpr() public UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) _0.__Instance); @@ -24987,31 +28587,76 @@ public bool IsArgumentType public unsafe partial class ArraySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr lHS; + + [FieldOffset(88)] internal __IntPtr rHS; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(104)] internal __IntPtr @base; + + [FieldOffset(112)] internal __IntPtr idx; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArraySubscriptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25047,7 +28692,7 @@ internal static ArraySubscriptExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25067,7 +28712,7 @@ protected ArraySubscriptExpr(void* native, bool skipVTables = false) public ArraySubscriptExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25076,7 +28721,7 @@ public ArraySubscriptExpr() public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) _0.__Instance); @@ -25154,35 +28799,88 @@ public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25236,7 +28934,7 @@ internal static CallExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -25256,7 +28954,7 @@ protected CallExpr(void* native, bool skipVTables = false) public CallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25265,7 +28963,7 @@ public CallExpr() public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -25274,7 +28972,7 @@ public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -25294,7 +28992,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -25443,39 +29141,100 @@ public uint GetargumentsCount public unsafe partial class MemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal byte arrow; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(96)] internal byte hadMultipleCandidates; + + [FieldOffset(97)] internal byte hasQualifier; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(112)] internal byte hasTemplateKeyword; + + [FieldOffset(113)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(116)] internal uint numTemplateArgs; + + [FieldOffset(120)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(124)] internal byte isImplicitAccess; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10MemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25511,7 +29270,7 @@ internal static MemberExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25531,7 +29290,7 @@ protected MemberExpr(void* native, bool skipVTables = false) public MemberExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25540,7 +29299,7 @@ public MemberExpr() public MemberExpr(global::CppSharp.Parser.AST.MemberExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MemberExpr.__Internal*) _0.__Instance); @@ -25719,29 +29478,70 @@ public bool IsImplicitAccess public unsafe partial class CompoundLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr initializer; + + [FieldOffset(88)] internal byte fileScope; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19CompoundLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25777,7 +29577,7 @@ internal static CompoundLiteralExpr __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25797,7 +29597,7 @@ protected CompoundLiteralExpr(void* native, bool skipVTables = false) public CompoundLiteralExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25806,7 +29606,7 @@ public CompoundLiteralExpr() public CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) _0.__Instance); @@ -25855,33 +29655,82 @@ public bool FileScope public unsafe partial class CastExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25921,7 +29770,7 @@ internal static CastExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25941,7 +29790,7 @@ protected CastExpr(void* native, bool skipVTables = false) public CastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25950,7 +29799,7 @@ public CastExpr() public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -25959,7 +29808,7 @@ public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) public CastExpr(global::CppSharp.Parser.AST.CastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CastExpr.__Internal*) _0.__Instance); @@ -26081,34 +29930,85 @@ public uint PathSize public unsafe partial class ImplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal byte isPartOfExplicitCast; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ImplicitCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26149,7 +30049,7 @@ internal static ImplicitCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -26169,7 +30069,7 @@ protected ImplicitCastExpr(void* native, bool skipVTables = false) public ImplicitCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26178,7 +30078,7 @@ public ImplicitCastExpr() public ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) _0.__Instance); @@ -26200,34 +30100,85 @@ public bool IsPartOfExplicitCast public unsafe partial class ExplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26266,7 +30217,7 @@ internal static ExplicitCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -26286,7 +30237,7 @@ protected ExplicitCastExpr(void* native, bool skipVTables = false) public ExplicitCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26295,7 +30246,7 @@ public ExplicitCastExpr() public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -26304,7 +30255,7 @@ public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) _0.__Instance); @@ -26333,36 +30284,91 @@ public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) public unsafe partial class CStyleCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(140)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14CStyleCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26398,7 +30404,7 @@ internal static CStyleCastExpr __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -26418,7 +30424,7 @@ protected CStyleCastExpr(void* native, bool skipVTables = false) public CStyleCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26427,7 +30433,7 @@ public CStyleCastExpr() public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) _0.__Instance); @@ -26462,45 +30468,118 @@ public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(88)] internal __IntPtr lHS; + + [FieldOffset(96)] internal __IntPtr rHS; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C OpcodeStr; + + [FieldOffset(136)] internal byte isPtrMemOp; + + [FieldOffset(137)] internal byte isMultiplicativeOp; + + [FieldOffset(138)] internal byte isAdditiveOp; + + [FieldOffset(139)] internal byte isShiftOp; + + [FieldOffset(140)] internal byte isBitwiseOp; + + [FieldOffset(141)] internal byte isRelationalOp; + + [FieldOffset(142)] internal byte isEqualityOp; + + [FieldOffset(143)] internal byte isComparisonOp; + + [FieldOffset(144)] internal byte isLogicalOp; + + [FieldOffset(145)] internal byte isAssignmentOp; + + [FieldOffset(146)] internal byte isCompoundAssignmentOp; + + [FieldOffset(147)] internal byte isShiftAssignOp; + + [FieldOffset(148)] internal byte isFPContractableWithinStatement; + + [FieldOffset(149)] internal byte isFEnvAccessOn; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26514,6 +30593,12 @@ public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, I [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperator12getOpcodeStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetOpcodeStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperator12setOpcodeStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetOpcodeStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new BinaryOperator __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -26542,7 +30627,7 @@ internal static BinaryOperator __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -26562,7 +30647,7 @@ protected BinaryOperator(void* native, bool skipVTables = false) public BinaryOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26571,7 +30656,7 @@ public BinaryOperator() public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -26580,7 +30665,7 @@ public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -26600,7 +30685,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -26663,20 +30748,6 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) } } - public string OpcodeStr - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->opcodeStr)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->opcodeStr), value); - } - } - public bool IsPtrMemOp { get @@ -26858,51 +30929,142 @@ public bool IsFEnvAccessOn ((__Internal*)__Instance)->isFEnvAccessOn = (byte) (value ? 1 : 0); } } + + public string OpcodeStr + { + get + { + var ___ret = __Internal.GetOpcodeStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetOpcodeStr(__Instance, value); + } + } } public unsafe partial class CompoundAssignOperator : global::CppSharp.Parser.AST.BinaryOperator, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 184)] + [StructLayout(LayoutKind.Explicit, Size = 184)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(88)] internal __IntPtr lHS; + + [FieldOffset(96)] internal __IntPtr rHS; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C opcodeStr; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C OpcodeStr; + + [FieldOffset(136)] internal byte isPtrMemOp; + + [FieldOffset(137)] internal byte isMultiplicativeOp; + + [FieldOffset(138)] internal byte isAdditiveOp; + + [FieldOffset(139)] internal byte isShiftOp; + + [FieldOffset(140)] internal byte isBitwiseOp; + + [FieldOffset(141)] internal byte isRelationalOp; + + [FieldOffset(142)] internal byte isEqualityOp; + + [FieldOffset(143)] internal byte isComparisonOp; + + [FieldOffset(144)] internal byte isLogicalOp; + + [FieldOffset(145)] internal byte isAssignmentOp; + + [FieldOffset(146)] internal byte isCompoundAssignmentOp; + + [FieldOffset(147)] internal byte isShiftAssignOp; + + [FieldOffset(148)] internal byte isFPContractableWithinStatement; + + [FieldOffset(149)] internal byte isFEnvAccessOn; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationLHSType; + + [FieldOffset(168)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationResultType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26941,7 +31103,7 @@ internal static CompoundAssignOperator __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -26961,7 +31123,7 @@ protected CompoundAssignOperator(void* native, bool skipVTables = false) public CompoundAssignOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26970,7 +31132,7 @@ public CompoundAssignOperator() public CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -26990,7 +31152,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -27027,31 +31189,76 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class AbstractConditionalOperator : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr cond; + + [FieldOffset(88)] internal __IntPtr trueExpr; + + [FieldOffset(96)] internal __IntPtr falseExpr; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27090,7 +31297,7 @@ internal static AbstractConditionalOperator __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27110,7 +31317,7 @@ protected AbstractConditionalOperator(void* native, bool skipVTables = false) public AbstractConditionalOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27119,7 +31326,7 @@ public AbstractConditionalOperator() public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -27128,7 +31335,7 @@ public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) _0.__Instance); @@ -27210,33 +31417,82 @@ public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractCondition public unsafe partial class ConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr cond; + + [FieldOffset(88)] internal __IntPtr trueExpr; + + [FieldOffset(96)] internal __IntPtr falseExpr; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(112)] internal __IntPtr lHS; + + [FieldOffset(120)] internal __IntPtr rHS; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27272,7 +31528,7 @@ internal static ConditionalOperator __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27292,7 +31548,7 @@ protected ConditionalOperator(void* native, bool skipVTables = false) public ConditionalOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27301,7 +31557,7 @@ public ConditionalOperator() public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) _0.__Instance); @@ -27338,33 +31594,82 @@ public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) public unsafe partial class BinaryConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr cond; + + [FieldOffset(88)] internal __IntPtr trueExpr; + + [FieldOffset(96)] internal __IntPtr falseExpr; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(112)] internal __IntPtr common; + + [FieldOffset(120)] internal __IntPtr opaqueValue; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25BinaryConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27400,7 +31705,7 @@ internal static BinaryConditionalOperator __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27420,7 +31725,7 @@ protected BinaryConditionalOperator(void* native, bool skipVTables = false) public BinaryConditionalOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27429,7 +31734,7 @@ public BinaryConditionalOperator() public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) _0.__Instance); @@ -27466,28 +31771,67 @@ public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOp public unsafe partial class AddrLabelExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal ampAmpLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13AddrLabelExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27523,7 +31867,7 @@ internal static AddrLabelExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27543,7 +31887,7 @@ protected AddrLabelExpr(void* native, bool skipVTables = false) public AddrLabelExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27552,7 +31896,7 @@ public AddrLabelExpr() public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) _0.__Instance); @@ -27587,29 +31931,70 @@ public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) public unsafe partial class StmtExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subStmt; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8StmtExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27645,7 +32030,7 @@ internal static StmtExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27665,7 +32050,7 @@ protected StmtExpr(void* native, bool skipVTables = false) public StmtExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27674,7 +32059,7 @@ public StmtExpr() public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.StmtExpr.__Internal*) _0.__Instance); @@ -27723,29 +32108,70 @@ public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) public unsafe partial class ShuffleVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] internal uint numSubExprs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ShuffleVectorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27781,7 +32207,7 @@ internal static ShuffleVectorExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27801,7 +32227,7 @@ protected ShuffleVectorExpr(void* native, bool skipVTables = false) public ShuffleVectorExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27810,7 +32236,7 @@ public ShuffleVectorExpr() public ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) _0.__Instance); @@ -27858,29 +32284,70 @@ public uint NumSubExprs public unsafe partial class ConvertVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr srcExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ConvertVectorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27916,7 +32383,7 @@ internal static ConvertVectorExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27936,7 +32403,7 @@ protected ConvertVectorExpr(void* native, bool skipVTables = false) public ConvertVectorExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27945,7 +32412,7 @@ public ConvertVectorExpr() public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) _0.__Instance); @@ -27994,34 +32461,85 @@ public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) public unsafe partial class ChooseExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isConditionTrue; + + [FieldOffset(80)] internal __IntPtr cond; + + [FieldOffset(88)] internal __IntPtr lHS; + + [FieldOffset(96)] internal __IntPtr rHS; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] internal byte isConditionDependent; + + [FieldOffset(120)] internal __IntPtr chosenSubExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ChooseExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28057,7 +32575,7 @@ internal static ChooseExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28077,7 +32595,7 @@ protected ChooseExpr(void* native, bool skipVTables = false) public ChooseExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28086,7 +32604,7 @@ public ChooseExpr() public ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) _0.__Instance); @@ -28203,27 +32721,64 @@ public bool IsConditionDependent public unsafe partial class GNUNullExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal tokenLocation; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11GNUNullExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28259,7 +32814,7 @@ internal static GNUNullExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28279,7 +32834,7 @@ protected GNUNullExpr(void* native, bool skipVTables = false) public GNUNullExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28288,7 +32843,7 @@ public GNUNullExpr() public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) _0.__Instance); @@ -28310,30 +32865,73 @@ public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) public unsafe partial class VAArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal byte isMicrosoftABI; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9VAArgExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28369,7 +32967,7 @@ internal static VAArgExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28389,7 +32987,7 @@ protected VAArgExpr(void* native, bool skipVTables = false) public VAArgExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28398,7 +32996,7 @@ public VAArgExpr() public VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) _0.__Instance); @@ -28460,38 +33058,97 @@ public bool IsMicrosoftABI public unsafe partial class InitListExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr arrayFiller; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rBraceLoc; + + [FieldOffset(96)] internal __IntPtr syntacticForm; + + [FieldOffset(104)] internal uint numInits; + + [FieldOffset(108)] internal byte hasArrayFiller; + + [FieldOffset(109)] internal byte isExplicit; + + [FieldOffset(110)] internal byte isStringLiteralInit; + + [FieldOffset(111)] internal byte isTransparent; + + [FieldOffset(112)] internal byte isSemanticForm; + + [FieldOffset(120)] internal __IntPtr semanticForm; + + [FieldOffset(128)] internal byte isSyntacticForm; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12InitListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28527,7 +33184,7 @@ internal static InitListExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28547,7 +33204,7 @@ protected InitListExpr(void* native, bool skipVTables = false) public InitListExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28556,7 +33213,7 @@ public InitListExpr() public InitListExpr(global::CppSharp.Parser.AST.InitListExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InitListExpr.__Internal*) _0.__Instance); @@ -28724,32 +33381,79 @@ public bool IsSyntacticForm public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal equalOrColonLoc; + + [FieldOffset(80)] internal __IntPtr init; + + [FieldOffset(88)] internal uint size; + + [FieldOffset(92)] internal byte usesGNUSyntax; + + [FieldOffset(96)] internal uint numSubExprs; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceRange.__Internal designatorsSourceRange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28761,19 +33465,40 @@ public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Exp public unsafe partial class Designator : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public partial struct __Internal { + [FieldOffset(0)] internal __IntPtr field; + + [FieldOffset(8)] internal byte isFieldDesignator; + + [FieldOffset(9)] internal byte isArrayDesignator; + + [FieldOffset(10)] internal byte isArrayRangeDesignator; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal dotLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal fieldLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal lBracketLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(28)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(32)] internal uint firstExprIndex; + + [FieldOffset(36)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr10DesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28827,7 +33552,7 @@ internal static Designator __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28848,7 +33573,7 @@ protected Designator(void* native, bool skipVTables = false) public Designator() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28856,7 +33581,7 @@ public Designator() public Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) _0.__Instance); @@ -28876,7 +33601,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -29029,7 +33754,7 @@ public uint FirstExprIndex public unsafe partial class FieldDesignator : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr15FieldDesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29083,7 +33808,7 @@ internal static FieldDesignator __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29104,7 +33829,7 @@ protected FieldDesignator(void* native, bool skipVTables = false) public FieldDesignator() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29112,7 +33837,7 @@ public FieldDesignator() public FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) _0.__Instance); @@ -29132,14 +33857,14 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class ArrayOrRangeDesignator : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr22ArrayOrRangeDesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29193,7 +33918,7 @@ internal static ArrayOrRangeDesignator __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29214,7 +33939,7 @@ protected ArrayOrRangeDesignator(void* native, bool skipVTables = false) public ArrayOrRangeDesignator() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29222,7 +33947,7 @@ public ArrayOrRangeDesignator() public ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) _0.__Instance); @@ -29242,7 +33967,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -29273,7 +33998,7 @@ internal static DesignatedInitExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29293,7 +34018,7 @@ protected DesignatedInitExpr(void* native, bool skipVTables = false) public DesignatedInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29302,7 +34027,7 @@ public DesignatedInitExpr() public DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) _0.__Instance); @@ -29392,26 +34117,61 @@ public uint NumSubExprs public unsafe partial class NoInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10NoInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29447,7 +34207,7 @@ internal static NoInitExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29467,7 +34227,7 @@ protected NoInitExpr(void* native, bool skipVTables = false) public NoInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29476,7 +34236,7 @@ public NoInitExpr() public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) _0.__Instance); @@ -29485,28 +34245,67 @@ public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) public unsafe partial class DesignatedInitUpdateExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal __IntPtr updater; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24DesignatedInitUpdateExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29542,7 +34341,7 @@ internal static DesignatedInitUpdateExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29562,7 +34361,7 @@ protected DesignatedInitUpdateExpr(void* native, bool skipVTables = false) public DesignatedInitUpdateExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29571,7 +34370,7 @@ public DesignatedInitUpdateExpr() public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) _0.__Instance); @@ -29608,28 +34407,67 @@ public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdate public unsafe partial class ArrayInitLoopExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr commonExpr; + + [FieldOffset(88)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ArrayInitLoopExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29665,7 +34503,7 @@ internal static ArrayInitLoopExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29685,7 +34523,7 @@ protected ArrayInitLoopExpr(void* native, bool skipVTables = false) public ArrayInitLoopExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29694,7 +34532,7 @@ public ArrayInitLoopExpr() public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) _0.__Instance); @@ -29731,26 +34569,61 @@ public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) public unsafe partial class ArrayInitIndexExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArrayInitIndexExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29786,7 +34659,7 @@ internal static ArrayInitIndexExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29806,7 +34679,7 @@ protected ArrayInitIndexExpr(void* native, bool skipVTables = false) public ArrayInitIndexExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29815,7 +34688,7 @@ public ArrayInitIndexExpr() public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) _0.__Instance); @@ -29824,26 +34697,61 @@ public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) public unsafe partial class ImplicitValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21ImplicitValueInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29879,7 +34787,7 @@ internal static ImplicitValueInitExpr __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29899,7 +34807,7 @@ protected ImplicitValueInitExpr(void* native, bool skipVTables = false) public ImplicitValueInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29908,7 +34816,7 @@ public ImplicitValueInitExpr() public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) _0.__Instance); @@ -29917,29 +34825,70 @@ public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _ public unsafe partial class ParenListExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numExprs; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ParenListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29975,7 +34924,7 @@ internal static ParenListExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29995,7 +34944,7 @@ protected ParenListExpr(void* native, bool skipVTables = false) public ParenListExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30004,7 +34953,7 @@ public ParenListExpr() public ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) _0.__Instance); @@ -30052,34 +35001,85 @@ public uint NumExprs public unsafe partial class GenericSelectionExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numAssocs; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal genericLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(96)] internal __IntPtr controllingExpr; + + [FieldOffset(104)] internal byte isResultDependent; + + [FieldOffset(108)] internal uint resultIndex; + + [FieldOffset(112)] internal __IntPtr resultExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20GenericSelectionExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30115,7 +35115,7 @@ internal static GenericSelectionExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30135,7 +35135,7 @@ protected GenericSelectionExpr(void* native, bool skipVTables = false) public GenericSelectionExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30144,7 +35144,7 @@ public GenericSelectionExpr() public GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) _0.__Instance); @@ -30259,31 +35259,76 @@ public uint ResultIndex public unsafe partial class ExtVectorElementExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal accessorLoc; + + [FieldOffset(92)] internal uint numElements; + + [FieldOffset(96)] internal byte containsDuplicateElements; + + [FieldOffset(97)] internal byte isArrow; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20ExtVectorElementExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30319,7 +35364,7 @@ internal static ExtVectorElementExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30339,7 +35384,7 @@ protected ExtVectorElementExpr(void* native, bool skipVTables = false) public ExtVectorElementExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30348,7 +35393,7 @@ public ExtVectorElementExpr() public ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) _0.__Instance); @@ -30423,28 +35468,67 @@ public bool IsArrow public unsafe partial class BlockExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal caretLocation; + + [FieldOffset(80)] internal __IntPtr body; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9BlockExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30480,7 +35564,7 @@ internal static BlockExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30500,7 +35584,7 @@ protected BlockExpr(void* native, bool skipVTables = false) public BlockExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30509,7 +35593,7 @@ public BlockExpr() public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BlockExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockExpr.__Internal*) _0.__Instance); @@ -30545,29 +35629,70 @@ public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) public unsafe partial class AsTypeExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr srcExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10AsTypeExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30603,7 +35728,7 @@ internal static AsTypeExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30623,7 +35748,7 @@ protected AsTypeExpr(void* native, bool skipVTables = false) public AsTypeExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30632,7 +35757,7 @@ public AsTypeExpr() public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) _0.__Instance); @@ -30681,30 +35806,73 @@ public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) public unsafe partial class PseudoObjectExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr syntacticForm; + + [FieldOffset(88)] internal uint resultExprIndex; + + [FieldOffset(96)] internal __IntPtr resultExpr; + + [FieldOffset(104)] internal uint numSemanticExprs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16PseudoObjectExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30740,7 +35908,7 @@ internal static PseudoObjectExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30760,7 +35928,7 @@ protected PseudoObjectExpr(void* native, bool skipVTables = false) public PseudoObjectExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30769,7 +35937,7 @@ public PseudoObjectExpr() public PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) _0.__Instance); @@ -30832,41 +36000,106 @@ public uint NumSemanticExprs public unsafe partial class AtomicExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 176)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr ptr; + + [FieldOffset(88)] internal __IntPtr order; + + [FieldOffset(96)] internal __IntPtr scope; + + [FieldOffset(104)] internal __IntPtr val1; + + [FieldOffset(112)] internal __IntPtr orderFail; + + [FieldOffset(120)] internal __IntPtr val2; + + [FieldOffset(128)] internal __IntPtr weak; + + [FieldOffset(136)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal valueType; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.AtomicExpr.AtomicOp op; + + [FieldOffset(156)] internal uint numSubExprs; + + [FieldOffset(160)] internal byte isVolatile; + + [FieldOffset(161)] internal byte isCmpXChg; + + [FieldOffset(162)] internal byte isOpenCL; + + [FieldOffset(164)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(168)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10AtomicExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30952,7 +36185,7 @@ internal static AtomicExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30972,7 +36205,7 @@ protected AtomicExpr(void* native, bool skipVTables = false) public AtomicExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30981,7 +36214,7 @@ public AtomicExpr() public AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) _0.__Instance); @@ -31194,26 +36427,61 @@ public bool IsOpenCL public unsafe partial class TypoExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8TypoExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31249,7 +36517,7 @@ internal static TypoExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -31269,7 +36537,7 @@ protected TypoExpr(void* native, bool skipVTables = false) public TypoExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31278,7 +36546,7 @@ public TypoExpr() public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) _0.__Instance); @@ -31287,39 +36555,100 @@ public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) public unsafe partial class CXXOperatorCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.OverloadedOperatorKind _operator; + + [FieldOffset(156)] internal byte isAssignmentOp; + + [FieldOffset(157)] internal byte isInfixBinaryOp; + + [FieldOffset(160)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31358,7 +36687,7 @@ internal static CXXOperatorCallExpr __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -31378,7 +36707,7 @@ protected CXXOperatorCallExpr(void* native, bool skipVTables = false) public CXXOperatorCallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31387,7 +36716,7 @@ public CXXOperatorCallExpr() public CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -31407,7 +36736,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -31466,37 +36795,94 @@ public bool IsInfixBinaryOp public unsafe partial class CXXMemberCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; + + [FieldOffset(152)] internal __IntPtr implicitObjectArgument; + + [FieldOffset(160)] internal __IntPtr methodDecl; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXMemberCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31535,7 +36921,7 @@ internal static CXXMemberCallExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -31555,7 +36941,7 @@ protected CXXMemberCallExpr(void* native, bool skipVTables = false) public CXXMemberCallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31564,7 +36950,7 @@ public CXXMemberCallExpr() public CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -31584,7 +36970,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -31619,36 +37005,91 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class CUDAKernelCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; + + [FieldOffset(152)] internal __IntPtr config; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31687,7 +37128,7 @@ internal static CUDAKernelCallExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -31707,7 +37148,7 @@ protected CUDAKernelCallExpr(void* native, bool skipVTables = false) public CUDAKernelCallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31716,7 +37157,7 @@ public CUDAKernelCallExpr() public CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -31736,7 +37177,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -31757,38 +37198,97 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class CXXNamedCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31828,7 +37328,7 @@ internal static CXXNamedCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -31848,7 +37348,7 @@ protected CXXNamedCastExpr(void* native, bool skipVTables = false) public CXXNamedCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31857,7 +37357,7 @@ public CXXNamedCastExpr() public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -31866,7 +37366,7 @@ public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) public CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) _0.__Instance); @@ -31948,38 +37448,97 @@ public string CastName public unsafe partial class CXXStaticCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXStaticCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32015,7 +37574,7 @@ internal static CXXStaticCastExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32035,7 +37594,7 @@ protected CXXStaticCastExpr(void* native, bool skipVTables = false) public CXXStaticCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32044,7 +37603,7 @@ public CXXStaticCastExpr() public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) _0.__Instance); @@ -32053,39 +37612,100 @@ public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) public unsafe partial class CXXDynamicCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [FieldOffset(160)] internal byte isAlwaysNull; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXDynamicCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32121,7 +37741,7 @@ internal static CXXDynamicCastExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32141,7 +37761,7 @@ protected CXXDynamicCastExpr(void* native, bool skipVTables = false) public CXXDynamicCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32150,7 +37770,7 @@ public CXXDynamicCastExpr() public CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) _0.__Instance); @@ -32172,38 +37792,97 @@ public bool IsAlwaysNull public unsafe partial class CXXReinterpretCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXReinterpretCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32239,7 +37918,7 @@ internal static CXXReinterpretCastExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32259,7 +37938,7 @@ protected CXXReinterpretCastExpr(void* native, bool skipVTables = false) public CXXReinterpretCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32268,7 +37947,7 @@ public CXXReinterpretCastExpr() public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) _0.__Instance); @@ -32277,38 +37956,97 @@ public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr public unsafe partial class CXXConstCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32344,7 +38082,7 @@ internal static CXXConstCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32364,7 +38102,7 @@ protected CXXConstCastExpr(void* native, bool skipVTables = false) public CXXConstCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32373,7 +38111,7 @@ public CXXConstCastExpr() public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) _0.__Instance); @@ -32382,38 +38120,97 @@ public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) public unsafe partial class UserDefinedLiteral : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 176)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind; + + [FieldOffset(160)] internal __IntPtr cookedLiteral; + + [FieldOffset(168)] internal global::CppSharp.Parser.SourceLocation.__Internal uDSuffixLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18UserDefinedLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32462,7 +38259,7 @@ internal static UserDefinedLiteral __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -32482,7 +38279,7 @@ protected UserDefinedLiteral(void* native, bool skipVTables = false) public UserDefinedLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32491,7 +38288,7 @@ public UserDefinedLiteral() public UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -32511,7 +38308,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -32558,28 +38355,67 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class CXXBoolLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte value; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXBoolLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32615,7 +38451,7 @@ internal static CXXBoolLiteralExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32635,7 +38471,7 @@ protected CXXBoolLiteralExpr(void* native, bool skipVTables = false) public CXXBoolLiteralExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32644,7 +38480,7 @@ public CXXBoolLiteralExpr() public CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) _0.__Instance); @@ -32679,27 +38515,64 @@ public bool Value public unsafe partial class CXXNullPtrLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21CXXNullPtrLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32735,7 +38608,7 @@ internal static CXXNullPtrLiteralExpr __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32755,7 +38628,7 @@ protected CXXNullPtrLiteralExpr(void* native, bool skipVTables = false) public CXXNullPtrLiteralExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32764,7 +38637,7 @@ public CXXNullPtrLiteralExpr() public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) _0.__Instance); @@ -32786,27 +38659,64 @@ public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _ public unsafe partial class CXXStdInitializerListExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25CXXStdInitializerListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32842,7 +38752,7 @@ internal static CXXStdInitializerListExpr __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32862,7 +38772,7 @@ protected CXXStdInitializerListExpr(void* native, bool skipVTables = false) public CXXStdInitializerListExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32871,7 +38781,7 @@ public CXXStdInitializerListExpr() public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) _0.__Instance); @@ -32894,29 +38804,70 @@ public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerLi public unsafe partial class CXXTypeidExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr exprOperand; + + [FieldOffset(88)] internal byte isPotentiallyEvaluated; + + [FieldOffset(89)] internal byte isTypeOperand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXTypeidExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32952,7 +38903,7 @@ internal static CXXTypeidExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32972,7 +38923,7 @@ protected CXXTypeidExpr(void* native, bool skipVTables = false) public CXXTypeidExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32981,7 +38932,7 @@ public CXXTypeidExpr() public CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) _0.__Instance); @@ -33030,30 +38981,73 @@ public bool IsTypeOperand public unsafe partial class MSPropertyRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isImplicitAccess; + + [FieldOffset(80)] internal __IntPtr baseExpr; + + [FieldOffset(88)] internal byte isArrow; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17MSPropertyRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33089,7 +39083,7 @@ internal static MSPropertyRefExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33109,7 +39103,7 @@ protected MSPropertyRefExpr(void* native, bool skipVTables = false) public MSPropertyRefExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33118,7 +39112,7 @@ public MSPropertyRefExpr() public MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) _0.__Instance); @@ -33180,29 +39174,70 @@ public bool IsArrow public unsafe partial class MSPropertySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal __IntPtr idx; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23MSPropertySubscriptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33238,7 +39273,7 @@ internal static MSPropertySubscriptExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33258,7 +39293,7 @@ protected MSPropertySubscriptExpr(void* native, bool skipVTables = false) public MSPropertySubscriptExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33267,7 +39302,7 @@ public MSPropertySubscriptExpr() public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) _0.__Instance); @@ -33317,29 +39352,70 @@ public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptEx public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr exprOperand; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C uuidStr; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C UuidStr; + + [FieldOffset(120)] internal byte isTypeOperand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33350,6 +39426,12 @@ public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, ID [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExprD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExpr10getUuidStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetUuidStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExpr10setUuidStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetUuidStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new CXXUuidofExpr __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -33378,7 +39460,7 @@ internal static CXXUuidofExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -33398,7 +39480,7 @@ protected CXXUuidofExpr(void* native, bool skipVTables = false) public CXXUuidofExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33407,7 +39489,7 @@ public CXXUuidofExpr() public CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -33427,7 +39509,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -33445,58 +39527,97 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) } } - public string UuidStr + public bool IsTypeOperand { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->uuidStr)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isTypeOperand != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->uuidStr), value); + ((__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); } } - public bool IsTypeOperand + public string UuidStr { get { - return ((__Internal*)__Instance)->isTypeOperand != 0; + var ___ret = __Internal.GetUuidStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + __Internal.SetUuidStr(__Instance, value); } } } public unsafe partial class CXXThisExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal byte @implicit; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CXXThisExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33532,7 +39653,7 @@ internal static CXXThisExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33552,7 +39673,7 @@ protected CXXThisExpr(void* native, bool skipVTables = false) public CXXThisExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33561,7 +39682,7 @@ public CXXThisExpr() public CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) _0.__Instance); @@ -33596,29 +39717,70 @@ public bool Implicit public unsafe partial class CXXThrowExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal throwLoc; + + [FieldOffset(92)] internal byte isThrownVariableInScope; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CXXThrowExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33654,7 +39816,7 @@ internal static CXXThrowExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33674,7 +39836,7 @@ protected CXXThrowExpr(void* native, bool skipVTables = false) public CXXThrowExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33683,7 +39845,7 @@ public CXXThrowExpr() public CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) _0.__Instance); @@ -33732,28 +39894,67 @@ public bool IsThrownVariableInScope public unsafe partial class CXXDefaultArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr expr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal usedLocation; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXDefaultArgExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33789,7 +39990,7 @@ internal static CXXDefaultArgExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33809,7 +40010,7 @@ protected CXXDefaultArgExpr(void* native, bool skipVTables = false) public CXXDefaultArgExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33818,7 +40019,7 @@ public CXXDefaultArgExpr() public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) _0.__Instance); @@ -33854,28 +40055,67 @@ public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) public unsafe partial class CXXDefaultInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr field; + + [FieldOffset(88)] internal __IntPtr expr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXDefaultInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33911,7 +40151,7 @@ internal static CXXDefaultInitExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33931,7 +40171,7 @@ protected CXXDefaultInitExpr(void* native, bool skipVTables = false) public CXXDefaultInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33940,7 +40180,7 @@ public CXXDefaultInitExpr() public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) _0.__Instance); @@ -33977,27 +40217,64 @@ public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) public unsafe partial class CXXBindTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20CXXBindTemporaryExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34033,7 +40310,7 @@ internal static CXXBindTemporaryExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -34053,7 +40330,7 @@ protected CXXBindTemporaryExpr(void* native, bool skipVTables = false) public CXXBindTemporaryExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34062,7 +40339,7 @@ public CXXBindTemporaryExpr() public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) _0.__Instance); @@ -34085,35 +40362,88 @@ public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(108)] internal byte elidable; + + [FieldOffset(109)] internal byte hadMultipleCandidates; + + [FieldOffset(110)] internal byte listInitialization; + + [FieldOffset(111)] internal byte stdInitListInitialization; + + [FieldOffset(112)] internal byte requiresZeroInitialization; + + [FieldOffset(116)] internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(124)] internal uint numArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstructExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34175,7 +40505,7 @@ internal static CXXConstructExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -34195,7 +40525,7 @@ protected CXXConstructExpr(void* native, bool skipVTables = false) public CXXConstructExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34204,7 +40534,7 @@ public CXXConstructExpr() public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -34213,7 +40543,7 @@ public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -34233,7 +40563,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -34381,29 +40711,70 @@ public uint GetargumentsCount public unsafe partial class CXXInheritedCtorInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte constructsVBase; + + [FieldOffset(74)] internal byte inheritedFromVBase; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXInheritedCtorInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34439,7 +40810,7 @@ internal static CXXInheritedCtorInitExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -34459,7 +40830,7 @@ protected CXXInheritedCtorInitExpr(void* native, bool skipVTables = false) public CXXInheritedCtorInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34468,7 +40839,7 @@ public CXXInheritedCtorInitExpr() public CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) _0.__Instance); @@ -34516,37 +40887,94 @@ public bool InheritedFromVBase public unsafe partial class CXXFunctionalCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(140)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(144)] internal byte isListInitialization; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21CXXFunctionalCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34582,7 +41010,7 @@ internal static CXXFunctionalCastExpr __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -34602,7 +41030,7 @@ protected CXXFunctionalCastExpr(void* native, bool skipVTables = false) public CXXFunctionalCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34611,7 +41039,7 @@ public CXXFunctionalCastExpr() public CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) _0.__Instance); @@ -34659,35 +41087,88 @@ public bool IsListInitialization public unsafe partial class CXXTemporaryObjectExpr : global::CppSharp.Parser.AST.CXXConstructExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(108)] internal byte elidable; + + [FieldOffset(109)] internal byte hadMultipleCandidates; + + [FieldOffset(110)] internal byte listInitialization; + + [FieldOffset(111)] internal byte stdInitListInitialization; + + [FieldOffset(112)] internal byte requiresZeroInitialization; + + [FieldOffset(116)] internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(124)] internal uint numArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34726,7 +41207,7 @@ internal static CXXTemporaryObjectExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -34746,7 +41227,7 @@ protected CXXTemporaryObjectExpr(void* native, bool skipVTables = false) public CXXTemporaryObjectExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34755,7 +41236,7 @@ public CXXTemporaryObjectExpr() public CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -34775,43 +41256,98 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class LambdaExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal capture_inits; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal captureDefaultLoc; + + [FieldOffset(108)] internal uint capture_size; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceRange.__Internal introducerRange; + + [FieldOffset(120)] internal __IntPtr callOperator; + + [FieldOffset(128)] internal byte isGenericLambda; + + [FieldOffset(136)] internal __IntPtr body; + + [FieldOffset(144)] internal byte isMutable; + + [FieldOffset(145)] internal byte hasExplicitParameters; + + [FieldOffset(146)] internal byte hasExplicitResultType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LambdaExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34862,7 +41398,7 @@ internal static LambdaExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.LambdaExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -34882,7 +41418,7 @@ protected LambdaExpr(void* native, bool skipVTables = false) public LambdaExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34891,7 +41427,7 @@ public LambdaExpr() public LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -34911,7 +41447,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -35069,27 +41605,64 @@ public uint GetcaptureInitsCount public unsafe partial class CXXScalarValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXScalarValueInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35125,7 +41698,7 @@ internal static CXXScalarValueInitExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -35145,7 +41718,7 @@ protected CXXScalarValueInitExpr(void* native, bool skipVTables = false) public CXXScalarValueInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35154,7 +41727,7 @@ public CXXScalarValueInitExpr() public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) _0.__Instance); @@ -35176,41 +41749,106 @@ public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr public unsafe partial class CXXNewExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 200)] + [StructLayout(LayoutKind.Explicit, Size = 200)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal placement_arguments; + + [FieldOffset(104)] internal __IntPtr operatorNew; + + [FieldOffset(112)] internal __IntPtr operatorDelete; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal allocatedType; + + [FieldOffset(136)] internal byte isArray; + + [FieldOffset(144)] internal __IntPtr arraySize; + + [FieldOffset(152)] internal uint numPlacementArgs; + + [FieldOffset(156)] internal byte isParenTypeId; + + [FieldOffset(160)] internal global::CppSharp.Parser.SourceRange.__Internal typeIdParens; + + [FieldOffset(168)] internal byte isGlobalNew; + + [FieldOffset(169)] internal byte hasInitializer; + + [FieldOffset(172)] internal global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle; + + [FieldOffset(176)] internal __IntPtr initializer; + + [FieldOffset(184)] internal __IntPtr constructExpr; + + [FieldOffset(192)] internal global::CppSharp.Parser.SourceRange.__Internal directInitRange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXNewExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35268,7 +41906,7 @@ internal static CXXNewExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXNewExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -35288,7 +41926,7 @@ protected CXXNewExpr(void* native, bool skipVTables = false) public CXXNewExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35297,7 +41935,7 @@ public CXXNewExpr() public CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -35317,7 +41955,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -35547,32 +42185,79 @@ public uint GetplacementArgumentsCount public unsafe partial class CXXDeleteExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isGlobalDelete; + + [FieldOffset(74)] internal byte isArrayForm; + + [FieldOffset(75)] internal byte isArrayFormAsWritten; + + [FieldOffset(80)] internal __IntPtr operatorDelete; + + [FieldOffset(88)] internal __IntPtr argument; + + [FieldOffset(96)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXDeleteExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35608,7 +42293,7 @@ internal static CXXDeleteExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -35628,7 +42313,7 @@ protected CXXDeleteExpr(void* native, bool skipVTables = false) public CXXDeleteExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35637,7 +42322,7 @@ public CXXDeleteExpr() public CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) _0.__Instance); @@ -35728,34 +42413,85 @@ public bool IsArrayFormAsWritten public unsafe partial class CXXPseudoDestructorExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal byte hasQualifier; + + [FieldOffset(89)] internal byte isArrow; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal colonColonLoc; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal tildeLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [FieldOffset(120)] internal global::CppSharp.Parser.SourceLocation.__Internal destroyedTypeLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23CXXPseudoDestructorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35791,7 +42527,7 @@ internal static CXXPseudoDestructorExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -35811,7 +42547,7 @@ protected CXXPseudoDestructorExpr(void* native, bool skipVTables = false) public CXXPseudoDestructorExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35820,7 +42556,7 @@ public CXXPseudoDestructorExpr() public CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) _0.__Instance); @@ -35936,28 +42672,67 @@ public bool IsArrow public unsafe partial class TypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte value; + + [FieldOffset(76)] internal uint numArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13TypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35993,7 +42768,7 @@ internal static TypeTraitExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36013,7 +42788,7 @@ protected TypeTraitExpr(void* native, bool skipVTables = false) public TypeTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36022,7 +42797,7 @@ public TypeTraitExpr() public TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) _0.__Instance); @@ -36057,29 +42832,70 @@ public uint NumArgs public unsafe partial class ArrayTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal queriedType; + + [FieldOffset(96)] internal ulong value; + + [FieldOffset(104)] internal __IntPtr dimensionExpression; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArrayTypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36115,7 +42931,7 @@ internal static ArrayTypeTraitExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36135,7 +42951,7 @@ protected ArrayTypeTraitExpr(void* native, bool skipVTables = false) public ArrayTypeTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36144,7 +42960,7 @@ public ArrayTypeTraitExpr() public ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) _0.__Instance); @@ -36195,28 +43011,67 @@ public ulong Value public unsafe partial class ExpressionTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr queriedExpression; + + [FieldOffset(88)] internal byte value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ExpressionTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36252,7 +43107,7 @@ internal static ExpressionTraitExpr __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36272,7 +43127,7 @@ protected ExpressionTraitExpr(void* native, bool skipVTables = false) public ExpressionTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36281,7 +43136,7 @@ public ExpressionTraitExpr() public ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) _0.__Instance); @@ -36317,34 +43172,85 @@ public bool Value public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numDecls; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(96)] internal byte hasTemplateKeyword; + + [FieldOffset(97)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(100)] internal uint numTemplateArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OverloadExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36359,7 +43265,7 @@ public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDi public unsafe partial class FindResult : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OverloadExpr10FindResultC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36413,7 +43319,7 @@ internal static FindResult __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36434,7 +43340,7 @@ protected FindResult(void* native, bool skipVTables = false) public FindResult() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36442,7 +43348,7 @@ public FindResult() public FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) _0.__Instance); @@ -36462,7 +43368,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -36493,7 +43399,7 @@ internal static OverloadExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36513,7 +43419,7 @@ protected OverloadExpr(void* native, bool skipVTables = false) public OverloadExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36522,7 +43428,7 @@ public OverloadExpr() public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -36531,7 +43437,7 @@ public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) public OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) _0.__Instance); @@ -36649,36 +43555,91 @@ public uint NumTemplateArgs public unsafe partial class UnresolvedLookupExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numDecls; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(96)] internal byte hasTemplateKeyword; + + [FieldOffset(97)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(100)] internal uint numTemplateArgs; + + [FieldOffset(104)] internal byte requiresADL; + + [FieldOffset(105)] internal byte isOverloaded; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20UnresolvedLookupExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36714,7 +43675,7 @@ internal static UnresolvedLookupExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36734,7 +43695,7 @@ protected UnresolvedLookupExpr(void* native, bool skipVTables = false) public UnresolvedLookupExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36743,7 +43704,7 @@ public UnresolvedLookupExpr() public UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) _0.__Instance); @@ -36778,33 +43739,82 @@ public bool IsOverloaded public unsafe partial class DependentScopeDeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(92)] internal byte hasTemplateKeyword; + + [FieldOffset(93)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(96)] internal uint numTemplateArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25DependentScopeDeclRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36840,7 +43850,7 @@ internal static DependentScopeDeclRefExpr __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36860,7 +43870,7 @@ protected DependentScopeDeclRefExpr(void* native, bool skipVTables = false) public DependentScopeDeclRefExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36869,7 +43879,7 @@ public DependentScopeDeclRefExpr() public DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) _0.__Instance); @@ -36969,29 +43979,70 @@ public uint NumTemplateArgs public unsafe partial class ExprWithCleanups : global::CppSharp.Parser.AST.FullExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal uint numObjects; + + [FieldOffset(92)] internal byte cleanupsHaveSideEffects; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ExprWithCleanupsC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37027,7 +44078,7 @@ internal static ExprWithCleanups __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37047,7 +44098,7 @@ protected ExprWithCleanups(void* native, bool skipVTables = false) public ExprWithCleanups() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37056,7 +44107,7 @@ public ExprWithCleanups() public ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) _0.__Instance); @@ -37091,32 +44142,79 @@ public bool CleanupsHaveSideEffects public unsafe partial class CXXUnresolvedConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(128)] internal byte isListInitialization; + + [FieldOffset(132)] internal uint arg_size; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37167,7 +44265,7 @@ internal static CXXUnresolvedConstructExpr __CreateInstance(__Internal native, b private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -37187,7 +44285,7 @@ protected CXXUnresolvedConstructExpr(void* native, bool skipVTables = false) public CXXUnresolvedConstructExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37196,7 +44294,7 @@ public CXXUnresolvedConstructExpr() public CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -37216,7 +44314,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -37320,39 +44418,100 @@ public uint GetargumentsCount public unsafe partial class CXXDependentScopeMemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isImplicitAccess; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(104)] internal byte isArrow; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(112)] internal __IntPtr firstQualifierFoundInScope; + + [FieldOffset(120)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(124)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(128)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(132)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(136)] internal byte hasTemplateKeyword; + + [FieldOffset(137)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(140)] internal uint numTemplateArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27CXXDependentScopeMemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37388,7 +44547,7 @@ internal static CXXDependentScopeMemberExpr __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37408,7 +44567,7 @@ protected CXXDependentScopeMemberExpr(void* native, bool skipVTables = false) public CXXDependentScopeMemberExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37417,7 +44576,7 @@ public CXXDependentScopeMemberExpr() public CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) _0.__Instance); @@ -37599,41 +44758,106 @@ public uint NumTemplateArgs public unsafe partial class UnresolvedMemberExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numDecls; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(96)] internal byte hasTemplateKeyword; + + [FieldOffset(97)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(100)] internal uint numTemplateArgs; + + [FieldOffset(104)] internal byte isImplicitAccess; + + [FieldOffset(112)] internal __IntPtr @base; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(136)] internal byte hasUnresolvedUsing; + + [FieldOffset(137)] internal byte isArrow; + + [FieldOffset(140)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20UnresolvedMemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37669,7 +44893,7 @@ internal static UnresolvedMemberExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37689,7 +44913,7 @@ protected UnresolvedMemberExpr(void* native, bool skipVTables = false) public UnresolvedMemberExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37698,7 +44922,7 @@ public UnresolvedMemberExpr() public UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) _0.__Instance); @@ -37801,28 +45025,67 @@ public bool IsArrow public unsafe partial class CXXNoexceptExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr operand; + + [FieldOffset(88)] internal byte value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15CXXNoexceptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37858,7 +45121,7 @@ internal static CXXNoexceptExpr __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37878,7 +45141,7 @@ protected CXXNoexceptExpr(void* native, bool skipVTables = false) public CXXNoexceptExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37887,7 +45150,7 @@ public CXXNoexceptExpr() public CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) _0.__Instance); @@ -37923,28 +45186,67 @@ public bool Value public unsafe partial class PackExpansionExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr pattern; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17PackExpansionExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37980,7 +45282,7 @@ internal static PackExpansionExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38000,7 +45302,7 @@ protected PackExpansionExpr(void* native, bool skipVTables = false) public PackExpansionExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38009,7 +45311,7 @@ public PackExpansionExpr() public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) _0.__Instance); @@ -38045,32 +45347,79 @@ public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) public unsafe partial class SizeOfPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal packLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(88)] internal __IntPtr pack; + + [FieldOffset(96)] internal uint packLength; + + [FieldOffset(100)] internal byte isPartiallySubstituted; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14SizeOfPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38106,7 +45455,7 @@ internal static SizeOfPackExpr __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38126,7 +45475,7 @@ protected SizeOfPackExpr(void* native, bool skipVTables = false) public SizeOfPackExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38135,7 +45484,7 @@ public SizeOfPackExpr() public SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) _0.__Instance); @@ -38223,28 +45572,67 @@ public bool IsPartiallySubstituted public unsafe partial class SubstNonTypeTemplateParmExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(80)] internal __IntPtr replacement; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST28SubstNonTypeTemplateParmExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38280,7 +45668,7 @@ internal static SubstNonTypeTemplateParmExpr __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38300,7 +45688,7 @@ protected SubstNonTypeTemplateParmExpr(void* native, bool skipVTables = false) public SubstNonTypeTemplateParmExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38309,7 +45697,7 @@ public SubstNonTypeTemplateParmExpr() public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) _0.__Instance); @@ -38345,28 +45733,67 @@ public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemp public unsafe partial class SubstNonTypeTemplateParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.TemplateArgument.__Internal argumentPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST32SubstNonTypeTemplateParmPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38402,7 +45829,7 @@ internal static SubstNonTypeTemplateParmPackExpr __CreateInstance(__Internal nat private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38422,7 +45849,7 @@ protected SubstNonTypeTemplateParmPackExpr(void* native, bool skipVTables = fals public SubstNonTypeTemplateParmPackExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38431,7 +45858,7 @@ public SubstNonTypeTemplateParmPackExpr() public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) _0.__Instance); @@ -38468,28 +45895,67 @@ public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonType public unsafe partial class FunctionParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(80)] internal uint numExpansions; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20FunctionParmPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38525,7 +45991,7 @@ internal static FunctionParmPackExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38545,7 +46011,7 @@ protected FunctionParmPackExpr(void* native, bool skipVTables = false) public FunctionParmPackExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38554,7 +46020,7 @@ public FunctionParmPackExpr() public FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) _0.__Instance); @@ -38589,30 +46055,73 @@ public uint NumExpansions public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr temporary; + + [FieldOffset(88)] internal __IntPtr TemporaryExpr; + + [FieldOffset(96)] internal uint manglingNumber; + + [FieldOffset(100)] internal byte isBoundToLvalueReference; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38624,7 +46133,7 @@ public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.A public unsafe partial class ExtraState : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExpr10ExtraStateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38678,7 +46187,7 @@ internal static ExtraState __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38699,7 +46208,7 @@ protected ExtraState(void* native, bool skipVTables = false) public ExtraState() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38707,7 +46216,7 @@ public ExtraState() public ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) _0.__Instance); @@ -38727,7 +46236,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -38758,7 +46267,7 @@ internal static MaterializeTemporaryExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38778,7 +46287,7 @@ protected MaterializeTemporaryExpr(void* native, bool skipVTables = false) public MaterializeTemporaryExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38787,7 +46296,7 @@ public MaterializeTemporaryExpr() public MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) _0.__Instance); @@ -38850,34 +46359,85 @@ public bool IsBoundToLvalueReference public unsafe partial class CXXFoldExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr lHS; + + [FieldOffset(88)] internal __IntPtr rHS; + + [FieldOffset(96)] internal byte isRightFold; + + [FieldOffset(97)] internal byte isLeftFold; + + [FieldOffset(104)] internal __IntPtr pattern; + + [FieldOffset(112)] internal __IntPtr init; + + [FieldOffset(120)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(124)] internal global::CppSharp.Parser.AST.BinaryOperatorKind _operator; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CXXFoldExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38913,7 +46473,7 @@ internal static CXXFoldExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38933,7 +46493,7 @@ protected CXXFoldExpr(void* native, bool skipVTables = false) public CXXFoldExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38942,7 +46502,7 @@ public CXXFoldExpr() public CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) _0.__Instance); @@ -39059,32 +46619,79 @@ public bool IsLeftFold public unsafe partial class CoroutineSuspendExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(80)] internal __IntPtr commonExpr; + + [FieldOffset(88)] internal __IntPtr opaqueValue; + + [FieldOffset(96)] internal __IntPtr readyExpr; + + [FieldOffset(104)] internal __IntPtr suspendExpr; + + [FieldOffset(112)] internal __IntPtr resumeExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39132,7 +46739,7 @@ internal static CoroutineSuspendExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39152,7 +46759,7 @@ protected CoroutineSuspendExpr(void* native, bool skipVTables = false) public CoroutineSuspendExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39161,7 +46768,7 @@ public CoroutineSuspendExpr() public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -39170,7 +46777,7 @@ public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) _0.__Instance); @@ -39267,34 +46874,85 @@ public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) public unsafe partial class CoawaitExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(80)] internal __IntPtr commonExpr; + + [FieldOffset(88)] internal __IntPtr opaqueValue; + + [FieldOffset(96)] internal __IntPtr readyExpr; + + [FieldOffset(104)] internal __IntPtr suspendExpr; + + [FieldOffset(112)] internal __IntPtr resumeExpr; + + [FieldOffset(120)] internal byte isImplicit; + + [FieldOffset(128)] internal __IntPtr operand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CoawaitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39330,7 +46988,7 @@ internal static CoawaitExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39350,7 +47008,7 @@ protected CoawaitExpr(void* native, bool skipVTables = false) public CoawaitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39359,7 +47017,7 @@ public CoawaitExpr() public CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) _0.__Instance); @@ -39395,29 +47053,70 @@ public bool IsImplicit public unsafe partial class DependentCoawaitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr operand; + + [FieldOffset(88)] internal __IntPtr operatorCoawaitLookup; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20DependentCoawaitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39453,7 +47152,7 @@ internal static DependentCoawaitExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39473,7 +47172,7 @@ protected DependentCoawaitExpr(void* native, bool skipVTables = false) public DependentCoawaitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39482,7 +47181,7 @@ public DependentCoawaitExpr() public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) _0.__Instance); @@ -39532,33 +47231,82 @@ public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) public unsafe partial class CoyieldExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(80)] internal __IntPtr commonExpr; + + [FieldOffset(88)] internal __IntPtr opaqueValue; + + [FieldOffset(96)] internal __IntPtr readyExpr; + + [FieldOffset(104)] internal __IntPtr suspendExpr; + + [FieldOffset(112)] internal __IntPtr resumeExpr; + + [FieldOffset(120)] internal __IntPtr operand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CoyieldExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39594,7 +47342,7 @@ internal static CoyieldExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39614,7 +47362,7 @@ protected CoyieldExpr(void* native, bool skipVTables = false) public CoyieldExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39623,7 +47371,7 @@ public CoyieldExpr() public CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) _0.__Instance); @@ -39668,49 +47416,130 @@ public enum ParserIntType public unsafe partial class ParserTargetInfo : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 192)] + [StructLayout(LayoutKind.Explicit, Size = 192)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C ABI; + + [FieldOffset(32)] internal global::CppSharp.Parser.ParserIntType char16Type; + + [FieldOffset(36)] internal global::CppSharp.Parser.ParserIntType char32Type; + + [FieldOffset(40)] internal global::CppSharp.Parser.ParserIntType int64Type; + + [FieldOffset(44)] internal global::CppSharp.Parser.ParserIntType intMaxType; + + [FieldOffset(48)] internal global::CppSharp.Parser.ParserIntType intPtrType; + + [FieldOffset(52)] internal global::CppSharp.Parser.ParserIntType sizeType; + + [FieldOffset(56)] internal global::CppSharp.Parser.ParserIntType uIntMaxType; + + [FieldOffset(60)] internal global::CppSharp.Parser.ParserIntType wCharType; + + [FieldOffset(64)] internal global::CppSharp.Parser.ParserIntType wIntType; + + [FieldOffset(68)] internal uint boolAlign; + + [FieldOffset(72)] internal uint boolWidth; + + [FieldOffset(76)] internal uint charAlign; + + [FieldOffset(80)] internal uint charWidth; + + [FieldOffset(84)] internal uint char16Align; + + [FieldOffset(88)] internal uint char16Width; + + [FieldOffset(92)] internal uint char32Align; + + [FieldOffset(96)] internal uint char32Width; + + [FieldOffset(100)] internal uint halfAlign; + + [FieldOffset(104)] internal uint halfWidth; + + [FieldOffset(108)] internal uint floatAlign; + + [FieldOffset(112)] internal uint floatWidth; + + [FieldOffset(116)] internal uint doubleAlign; + + [FieldOffset(120)] internal uint doubleWidth; + + [FieldOffset(124)] internal uint shortAlign; + + [FieldOffset(128)] internal uint shortWidth; + + [FieldOffset(132)] internal uint intAlign; + + [FieldOffset(136)] internal uint intWidth; + + [FieldOffset(140)] internal uint intMaxTWidth; + + [FieldOffset(144)] internal uint longAlign; + + [FieldOffset(148)] internal uint longWidth; + + [FieldOffset(152)] internal uint longDoubleAlign; + + [FieldOffset(156)] internal uint longDoubleWidth; + + [FieldOffset(160)] internal uint longLongAlign; + + [FieldOffset(164)] internal uint longLongWidth; + + [FieldOffset(168)] internal uint pointerAlign; + + [FieldOffset(172)] internal uint pointerWidth; + + [FieldOffset(176)] internal uint wCharAlign; + + [FieldOffset(180)] internal uint wCharWidth; + + [FieldOffset(184)] internal uint float128Align; + + [FieldOffset(188)] internal uint float128Width; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfoC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39721,6 +47550,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfoD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfo6getABIEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetABI(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfo6setABIEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetABI(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -39767,7 +47602,7 @@ internal static ParserTargetInfo __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.ParserTargetInfo.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -39788,7 +47623,7 @@ protected ParserTargetInfo(void* native, bool skipVTables = false) public ParserTargetInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39796,7 +47631,7 @@ public ParserTargetInfo() public ParserTargetInfo(global::CppSharp.Parser.ParserTargetInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -39821,24 +47656,10 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string ABI - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->ABI)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->ABI), value); - } - } - public global::CppSharp.Parser.ParserIntType Char16Type { get @@ -40358,6 +48179,20 @@ public uint Float128Width ((__Internal*)__Instance)->float128Width = value; } } + + public string ABI + { + get + { + var ___ret = __Internal.GetABI(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetABI(__Instance, value); + } + } } } } @@ -40441,7 +48276,7 @@ internal static Parser __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -40463,30 +48298,74 @@ protected Parser(void* native, bool skipVTables = false) public unsafe partial class CppParserOptions : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 304)] + [StructLayout(LayoutKind.Explicit, Size = 312)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(24)] internal global::Std.Vector.__Internal CompilationOptions; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C LibraryFile; + + [FieldOffset(80)] internal global::Std.Vector.__Internal SourceFiles; + + [FieldOffset(104)] internal global::Std.Vector.__Internal IncludeDirs; + + [FieldOffset(128)] internal global::Std.Vector.__Internal SystemIncludeDirs; + + [FieldOffset(152)] internal global::Std.Vector.__Internal Defines; + + [FieldOffset(176)] internal global::Std.Vector.__Internal Undefines; + + [FieldOffset(200)] internal global::Std.Vector.__Internal SupportedStdTypes; + + [FieldOffset(224)] internal global::Std.Vector.__Internal SupportedFunctionTemplates; + + [FieldOffset(248)] internal __IntPtr ASTContext; + + [FieldOffset(256)] internal int toolSetToUse; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C targetTriple; + + [FieldOffset(264)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C TargetTriple; + + [FieldOffset(296)] + internal global::CppSharp.Parser.AST.CppAbi abi; + + [FieldOffset(300)] internal byte noStandardIncludes; + + [FieldOffset(301)] internal byte noBuiltinIncludes; + + [FieldOffset(302)] internal byte microsoftMode; + + [FieldOffset(303)] internal byte verbose; + + [FieldOffset(304)] internal byte unityBuild; + + [FieldOffset(305)] internal byte skipPrivateDeclarations; + + [FieldOffset(306)] internal byte skipLayoutInfo; + + [FieldOffset(307)] internal byte skipFunctionBodies; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C clangVersion; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptionsC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -40578,8 +48457,8 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions31clearSupportedFunctionTemplatesEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearSupportedFunctionTemplates(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15getClangVersionB5cxx11Ev", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void GetClangVersion(__IntPtr @return, __IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15getClangVersionEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetClangVersion(); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetArgumentsCount(__IntPtr __instance); @@ -40587,6 +48466,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions26getCompilationOptionsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetCompilationOptionsCount(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14getLibraryFileEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetLibraryFile(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14setLibraryFileEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetLibraryFile(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions19getSourceFilesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSourceFilesCount(__IntPtr __instance); @@ -40607,6 +48492,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions34getSupportedFunctionTemplatesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSupportedFunctionTemplatesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15getTargetTripleEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTargetTriple(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15setTargetTripleEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTargetTriple(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -40653,7 +48544,7 @@ internal static CppParserOptions __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.CppParserOptions.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -40674,7 +48565,7 @@ protected CppParserOptions(void* native, bool skipVTables = false) public CppParserOptions() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppParserOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppParserOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -40682,7 +48573,7 @@ public CppParserOptions() public CppParserOptions(global::CppSharp.Parser.CppParserOptions _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppParserOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppParserOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -40707,7 +48598,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -40882,17 +48773,16 @@ public int ToolSetToUse } } - public string TargetTriple + public global::CppSharp.Parser.AST.CppAbi Abi { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->targetTriple)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->abi; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->targetTriple), value); + ((__Internal*)__Instance)->abi = value; } } @@ -41000,16 +48890,12 @@ public bool SkipFunctionBodies } } - public string ClangVersion + public static string ClangVersion { get { - var ___ret = new global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C(); - __Internal.GetClangVersion(new IntPtr(&___ret), __Instance); - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&___ret)); - var __retString0 = global::Std.BasicStringExtensions.Data(__basicStringRet0); - __basicStringRet0.Dispose(); - return __retString0; + var ___ret = __Internal.GetClangVersion(); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } } @@ -41031,6 +48917,20 @@ public uint CompilationOptionsCount } } + public string LibraryFile + { + get + { + var ___ret = __Internal.GetLibraryFile(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetLibraryFile(__Instance, value); + } + } + public uint SourceFilesCount { get @@ -41093,15 +48993,34 @@ public uint SupportedFunctionTemplatesCount return ___ret; } } + + public string TargetTriple + { + get + { + var ___ret = __Internal.GetTargetTriple(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetTargetTriple(__Instance, value); + } + } } public unsafe partial class CppLinkerOptions : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(24)] internal global::Std.Vector.__Internal LibraryDirs; + + [FieldOffset(48)] internal global::Std.Vector.__Internal Libraries; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptionsC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -41194,7 +49113,7 @@ internal static CppLinkerOptions __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.CppLinkerOptions.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -41215,7 +49134,7 @@ protected CppLinkerOptions(void* native, bool skipVTables = false) public CppLinkerOptions() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -41223,7 +49142,7 @@ public CppLinkerOptions() public CppLinkerOptions(global::CppSharp.Parser.CppLinkerOptions _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -41248,7 +49167,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -41330,13 +49249,22 @@ public uint LibrariesCount public unsafe partial class ParserDiagnostic : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public partial struct __Internal { - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C fileName; - internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C message; + [FieldOffset(0)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C FileName; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C Message; + + [FieldOffset(64)] internal global::CppSharp.Parser.ParserDiagnosticLevel level; + + [FieldOffset(68)] internal int lineNumber; + + [FieldOffset(72)] internal int columnNumber; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnosticC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -41347,6 +49275,18 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnosticD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic11getFileNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFileName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic11setFileNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetFileName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic10getMessageEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMessage(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic10setMessageEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMessage(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -41393,7 +49333,7 @@ internal static ParserDiagnostic __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.ParserDiagnostic.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -41414,7 +49354,7 @@ protected ParserDiagnostic(void* native, bool skipVTables = false) public ParserDiagnostic() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -41422,7 +49362,7 @@ public ParserDiagnostic() public ParserDiagnostic(global::CppSharp.Parser.ParserDiagnostic _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -41447,86 +49387,93 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string FileName + public global::CppSharp.Parser.ParserDiagnosticLevel Level { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->level; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + ((__Internal*)__Instance)->level = value; } } - public string Message + public int LineNumber { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->message)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->lineNumber; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->message), value); + ((__Internal*)__Instance)->lineNumber = value; } } - public global::CppSharp.Parser.ParserDiagnosticLevel Level + public int ColumnNumber { get { - return ((__Internal*)__Instance)->level; + return ((__Internal*)__Instance)->columnNumber; } set { - ((__Internal*)__Instance)->level = value; + ((__Internal*)__Instance)->columnNumber = value; } } - public int LineNumber + public string FileName { get { - return ((__Internal*)__Instance)->lineNumber; + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->lineNumber = value; + __Internal.SetFileName(__Instance, value); } } - public int ColumnNumber + public string Message { get { - return ((__Internal*)__Instance)->columnNumber; + var ___ret = __Internal.GetMessage(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->columnNumber = value; + __Internal.SetMessage(__Instance, value); } } } public unsafe partial class ParserResult : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.ParserResultKind kind; + + [FieldOffset(8)] internal global::Std.Vector.__Internal Diagnostics; + + [FieldOffset(32)] internal global::Std.Vector.__Internal Libraries; + + [FieldOffset(56)] internal __IntPtr targetInfo; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResultC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -41607,7 +49554,7 @@ internal static ParserResult __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.ParserResult.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -41628,7 +49575,7 @@ protected ParserResult(void* native, bool skipVTables = false) public ParserResult() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -41636,7 +49583,7 @@ public ParserResult() public ParserResult(global::CppSharp.Parser.ParserResult _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -41661,7 +49608,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -41756,7 +49703,7 @@ public uint LibrariesCount public unsafe partial class ClangParser : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParserC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] @@ -41768,14 +49715,14 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser12ParseLibraryEPNS0_16CppLinkerOptionsE", CallingConvention = __CallingConvention.Cdecl)] internal static extern __IntPtr ParseLibrary(__IntPtr Opts); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser5BuildEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr Build(__IntPtr Opts, __IntPtr LinkerOptions, __IntPtr File, bool Last); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser5BuildEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsEPKcb", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Build(__IntPtr Opts, __IntPtr LinkerOptions, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File, bool Last); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser7CompileEPNS0_16CppParserOptionsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr Compile(__IntPtr Opts, __IntPtr File); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser7CompileEPNS0_16CppParserOptionsEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Compile(__IntPtr Opts, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser4LinkEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr Link(__IntPtr Opts, __IntPtr LinkerOptions, __IntPtr File, bool Last); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser4LinkEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsEPKcb", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Link(__IntPtr Opts, __IntPtr LinkerOptions, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File, bool Last); } public __IntPtr __Instance { get; protected set; } @@ -41822,7 +49769,7 @@ internal static ClangParser __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -41843,14 +49790,14 @@ protected ClangParser(void* native, bool skipVTables = false) public ClangParser() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ClangParser.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ClangParser.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } public ClangParser(global::CppSharp.Parser.ClangParser _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ClangParser.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ClangParser.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.ClangParser.__Internal*) __Instance) = *((global::CppSharp.Parser.ClangParser.__Internal*) _0.__Instance); @@ -41870,7 +49817,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -41894,11 +49841,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) { var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; var __arg1 = LinkerOptions is null ? __IntPtr.Zero : LinkerOptions.__Instance; - var __basicString2 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString2, File); - var __arg2 = __basicString2.__Instance; - var ___ret = __Internal.Build(__arg0, __arg1, __arg2, Last); - __basicString2.Dispose(); + var ___ret = __Internal.Build(__arg0, __arg1, File, Last); var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); return __result0; } @@ -41906,11 +49849,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public static global::CppSharp.Parser.ParserResult Compile(global::CppSharp.Parser.CppParserOptions Opts, string File) { var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; - var __basicString1 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString1, File); - var __arg1 = __basicString1.__Instance; - var ___ret = __Internal.Compile(__arg0, __arg1); - __basicString1.Dispose(); + var ___ret = __Internal.Compile(__arg0, File); var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); return __result0; } @@ -41919,11 +49858,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) { var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; var __arg1 = LinkerOptions is null ? __IntPtr.Zero : LinkerOptions.__Instance; - var __basicString2 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString2, File); - var __arg2 = __basicString2.__Instance; - var ___ret = __Internal.Link(__arg0, __arg1, __arg2, Last); - __basicString2.Dispose(); + var ___ret = __Internal.Link(__arg0, __arg1, File, Last); var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); return __result0; } @@ -41937,18 +49872,24 @@ namespace RbTree { namespace RbTreeImpl { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public unsafe partial struct __Internalc__N_std_S__Rb_tree____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_pair__1S0_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Select1st__S3____N_std_S_less__S0____N_std_S_allocator__S3__S__Rb_tree_impl__S7__Vb1 { + [FieldOffset(0)] internal global::Std.Less.__Internal _M_key_compare; + + [FieldOffset(8)] internal global::Std.RbTreeNodeBase.__Internal _M_header; + + [FieldOffset(40)] internal ulong _M_node_count; } } - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public unsafe partial struct __Internalc__N_std_S__Rb_tree____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_pair__1S0_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Select1st__S3____N_std_S_less__S0____N_std_S_allocator__S3_ { + [FieldOffset(0)] internal global::Std.RbTree.RbTreeImpl.__Internalc__N_std_S__Rb_tree____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_pair__1S0_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Select1st__S3____N_std_S_less__S0____N_std_S_allocator__S3__S__Rb_tree_impl__S7__Vb1 _M_impl; } } @@ -41958,9 +49899,10 @@ namespace Std { namespace Map { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public unsafe partial struct __Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ { + [FieldOffset(0)] internal global::Std.RbTree.__Internalc__N_std_S__Rb_tree____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_pair__1S0_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Select1st__S3____N_std_S_less__S0____N_std_S_allocator__S3_ _M_t; } } diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std-symbols.cpp b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std-symbols.cpp index 3da0107115..72fe7671ef 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std-symbols.cpp +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std-symbols.cpp @@ -1,5 +1,6 @@ #define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS #define _LIBCPP_HIDE_FROM_ABI +#define _LIBCPP_NO_ABI_TAG #include #include diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs index 640bb868cd..a684f6ad38 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs @@ -8,6 +8,7 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; +using __NativeMemory = global::System.Runtime.InteropServices.NativeMemory; using __CallingConvention = global::System.Runtime.InteropServices.CallingConvention; using __IntPtr = global::System.IntPtr; @@ -22,7 +23,7 @@ namespace Std { namespace Allocator { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public unsafe partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSaIcEC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -79,7 +80,7 @@ internal static Allocator<_Tp> __CreateInstance(global::Std.Allocator.__Internal private static void* __CopyValue(global::Std.Allocator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::Std.Allocator.__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.Allocator.__Internal), 16); *(global::Std.Allocator.__Internal*) ret = native; return ret.ToPointer(); } @@ -103,7 +104,7 @@ public Allocator() var ___Tp = typeof(_Tp); if (___Tp.IsAssignableFrom(typeof(sbyte))) { - __Instance = Marshal.AllocHGlobal(sizeof(global::Std.Allocator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.Allocator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); global::Std.Allocator.__Internal.ctorc__N_std_S_allocator__C(__Instance); @@ -136,7 +137,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) throw new ArgumentOutOfRangeException("_Tp", string.Join(", ", new[] { typeof(_Tp).FullName }), "global::Std.Allocator<_Tp> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: ."); } if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -146,28 +147,35 @@ namespace Std { namespace Vector { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internal { + [FieldOffset(0)] internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; } } namespace VectorBase { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internal { + [FieldOffset(0)] internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; } namespace VectorImpl { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internal { + [FieldOffset(0)] internal __IntPtr _M_start; + + [FieldOffset(8)] internal __IntPtr _M_finish; + + [FieldOffset(16)] internal __IntPtr _M_end_of_storage; } @@ -175,11 +183,16 @@ public unsafe partial struct __Internal namespace VectorImplData { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internal { + [FieldOffset(0)] internal __IntPtr _M_start; + + [FieldOffset(8)] internal __IntPtr _M_finish; + + [FieldOffset(16)] internal __IntPtr _M_end_of_storage; } } @@ -191,7 +204,7 @@ namespace Std { namespace Less { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public unsafe partial struct __Internal { } @@ -206,12 +219,19 @@ public enum RbTreeColor : uint public unsafe partial class RbTreeNodeBase { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.RbTreeColor _M_color; + + [FieldOffset(8)] internal __IntPtr _M_parent; + + [FieldOffset(16)] internal __IntPtr _M_left; + + [FieldOffset(24)] internal __IntPtr _M_right; } } @@ -233,7 +253,7 @@ namespace Std { namespace CharTraits { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public unsafe partial struct __Internal { } @@ -285,7 +305,7 @@ internal static CharTraits<_CharT> __CreateInstance(global::Std.CharTraits.__Int private static void* __CopyValue(global::Std.CharTraits.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::Std.CharTraits.__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.CharTraits.__Internal), 16); *(global::Std.CharTraits.__Internal*) ret = native; return ret.ToPointer(); } @@ -318,7 +338,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -352,9 +372,10 @@ public unsafe partial struct __Internalc__N_std_N___cxx11_S_basic_string__C___N_ namespace AllocHider { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internal { + [FieldOffset(0)] internal __IntPtr _M_p; } @@ -421,7 +442,7 @@ internal static BasicString<_CharT, _Traits, _Alloc> __CreateInstance(global::St private static void* __CopyValue(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C native) { - var ret = Marshal.AllocHGlobal(sizeof(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C), 16); *(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) ret = native; return ret.ToPointer(); } @@ -447,7 +468,7 @@ public BasicString() var ___Alloc = typeof(_Alloc); if (___CharT.IsAssignableFrom(typeof(sbyte)) && ___Traits.IsAssignableFrom(typeof(global::Std.CharTraits)) && ___Alloc.IsAssignableFrom(typeof(global::Std.Allocator))) { - __Instance = Marshal.AllocHGlobal(sizeof(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C.ctorc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C(__Instance); @@ -482,7 +503,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) throw new ArgumentOutOfRangeException("_CharT, _Traits, _Alloc", string.Join(", ", new[] { typeof(_CharT).FullName, typeof(_Traits).FullName, typeof(_Alloc).FullName }), "global::Std.BasicString<_CharT, _Traits, _Alloc> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: , global::Std.Allocator>."); } if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs index f9e3781732..8dc1d10182 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/CppSharp.CppParser.cs @@ -7,6 +7,7 @@ using System; using System.Runtime.InteropServices; using System.Security; +using __NativeMemory = global::System.Runtime.InteropServices.NativeMemory; using __CallingConvention = global::System.Runtime.InteropServices.CallingConvention; using __IntPtr = global::System.IntPtr; using System.Runtime.CompilerServices; @@ -62,12 +63,19 @@ public enum ArchType public unsafe partial class NativeLibrary : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public partial struct __Internal { - internal global::Std.BasicString.__Internal fileName; + [FieldOffset(0)] + internal global::Std.BasicString.__Internal FileName; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.ArchType archType; + + [FieldOffset(16)] internal global::Std.Vector.__Internal Symbols; + + [FieldOffset(40)] internal global::Std.Vector.__Internal Dependencies; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibraryC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -97,6 +105,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary17clearDependenciesEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearDependencies(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary11getFileNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFileName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary11setFileNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetFileName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13NativeLibrary15getSymbolsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSymbolsCount(__IntPtr __instance); @@ -148,7 +162,7 @@ internal static NativeLibrary __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.NativeLibrary.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -169,7 +183,7 @@ protected NativeLibrary(void* native, bool skipVTables = false) public NativeLibrary() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -177,7 +191,7 @@ public NativeLibrary() public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -202,7 +216,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -238,30 +252,30 @@ public void ClearDependencies() __Internal.ClearDependencies(__Instance); } - public string FileName + public global::CppSharp.Parser.AST.ArchType ArchType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->archType; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + ((__Internal*)__Instance)->archType = value; } } - public global::CppSharp.Parser.AST.ArchType ArchType + public string FileName { get { - return ((__Internal*)__Instance)->archType; + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->archType = value; + __Internal.SetFileName(__Instance, value); } } @@ -286,9 +300,10 @@ public uint DependenciesCount public unsafe partial class Comment : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7CommentC2ENS1_11CommentKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -342,7 +357,7 @@ internal static Comment __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -363,7 +378,7 @@ protected Comment(void* native, bool skipVTables = false) public Comment(global::CppSharp.Parser.AST.CommentKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Comment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -371,7 +386,7 @@ public Comment(global::CppSharp.Parser.AST.CommentKind kind) public Comment(global::CppSharp.Parser.AST.Comment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Comment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Comment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Comment.__Internal*) _0.__Instance); @@ -391,7 +406,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -416,9 +431,10 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class BlockContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockContentCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -457,7 +473,7 @@ internal static BlockContentComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -477,7 +493,7 @@ protected BlockContentComment(void* native, bool skipVTables = false) public BlockContentComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -486,7 +502,7 @@ public BlockContentComment() public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -495,7 +511,7 @@ public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockContentComment.__Internal*) _0.__Instance); @@ -509,10 +525,13 @@ public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) public unsafe partial class FullComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(8)] internal global::Std.Vector.__Internal Blocks; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11FullCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -563,7 +582,7 @@ internal static FullComment __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FullComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -583,7 +602,7 @@ protected FullComment(void* native, bool skipVTables = false) public FullComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -592,7 +611,7 @@ public FullComment() public FullComment(global::CppSharp.Parser.AST.FullComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -612,7 +631,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -649,10 +668,13 @@ public uint BlocksCount public unsafe partial class InlineContentComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineContentCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -691,7 +713,7 @@ internal static InlineContentComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -711,7 +733,7 @@ protected InlineContentComment(void* native, bool skipVTables = false) public InlineContentComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -720,7 +742,7 @@ public InlineContentComment() public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -729,7 +751,7 @@ public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InlineContentComment.__Internal*) _0.__Instance); @@ -756,11 +778,16 @@ public bool HasTrailingNewline public unsafe partial class ParagraphComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte isWhitespace; + + [FieldOffset(8)] internal global::Std.Vector.__Internal Content; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ParagraphCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -811,7 +838,7 @@ internal static ParagraphComment __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ParagraphComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -831,7 +858,7 @@ protected ParagraphComment(void* native, bool skipVTables = false) public ParagraphComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -840,7 +867,7 @@ public ParagraphComment() public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -860,7 +887,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -910,12 +937,19 @@ public uint ContentCount public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.BlockContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internal Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -945,10 +979,11 @@ public unsafe partial class BlockCommandComment : global::CppSharp.Parser.AST.Bl public unsafe partial class Argument : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { - internal global::Std.BasicString.__Internal text; + [FieldOffset(0)] + internal global::Std.BasicString.__Internal Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -958,6 +993,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8ArgumentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8Argument7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19BlockCommandComment8Argument7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -1004,7 +1045,7 @@ internal static Argument __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1025,7 +1066,7 @@ protected Argument(void* native, bool skipVTables = false) public Argument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1033,7 +1074,7 @@ public Argument() public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1058,7 +1099,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1066,13 +1107,13 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } @@ -1103,7 +1144,7 @@ internal static BlockCommandComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BlockCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1123,7 +1164,7 @@ protected BlockCommandComment(void* native, bool skipVTables = false) public BlockCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1132,7 +1173,7 @@ public BlockCommandComment() public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -1141,7 +1182,7 @@ public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1161,7 +1202,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1231,14 +1272,25 @@ public uint ArgumentsCount public unsafe partial class ParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(40)] internal global::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; + + [FieldOffset(44)] internal uint paramIndex; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ParamCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1284,7 +1336,7 @@ internal static ParamCommandComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ParamCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1304,7 +1356,7 @@ protected ParamCommandComment(void* native, bool skipVTables = false) public ParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1313,7 +1365,7 @@ public ParamCommandComment() public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1333,7 +1385,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1366,13 +1418,22 @@ public uint ParamIndex public unsafe partial class TParamCommandComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(40)] internal global::Std.Vector.__Internal Position; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20TParamCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1423,7 +1484,7 @@ internal static TParamCommandComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TParamCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1443,7 +1504,7 @@ protected TParamCommandComment(void* native, bool skipVTables = false) public TParamCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1452,7 +1513,7 @@ public TParamCommandComment() public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1472,7 +1533,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1508,11 +1569,14 @@ public uint PositionCount public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.AST.Comment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; - internal global::Std.BasicString.__Internal text; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internal Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -1522,6 +1586,12 @@ public unsafe partial class VerbatimBlockLineComment : global::CppSharp.Parser.A [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24VerbatimBlockLineComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new VerbatimBlockLineComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -1550,7 +1620,7 @@ internal static VerbatimBlockLineComment __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1570,7 +1640,7 @@ protected VerbatimBlockLineComment(void* native, bool skipVTables = false) public VerbatimBlockLineComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1579,7 +1649,7 @@ public VerbatimBlockLineComment() public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1599,7 +1669,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1607,26 +1677,35 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(40)] internal global::Std.Vector.__Internal Lines; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20VerbatimBlockCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1677,7 +1756,7 @@ internal static VerbatimBlockComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1697,7 +1776,7 @@ protected VerbatimBlockComment(void* native, bool skipVTables = false) public VerbatimBlockComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1706,7 +1785,7 @@ public VerbatimBlockComment() public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1726,7 +1805,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1763,14 +1842,23 @@ public uint LinesCount public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal uint commandId; + + [FieldOffset(8)] internal __IntPtr paragraphComment; + + [FieldOffset(16)] internal global::Std.Vector.__Internal Arguments; - internal global::Std.BasicString.__Internal text; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -1780,6 +1868,12 @@ public unsafe partial class VerbatimLineComment : global::CppSharp.Parser.AST.Bl [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19VerbatimLineComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new VerbatimLineComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -1808,7 +1902,7 @@ internal static VerbatimLineComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VerbatimLineComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -1828,7 +1922,7 @@ protected VerbatimLineComment(void* native, bool skipVTables = false) public VerbatimLineComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -1837,7 +1931,7 @@ public VerbatimLineComment() public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -1857,7 +1951,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -1865,26 +1959,35 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; + + [FieldOffset(8)] internal uint commandId; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; + + [FieldOffset(16)] internal global::Std.Vector.__Internal Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -1920,10 +2023,11 @@ public enum RenderKind : uint public unsafe partial class Argument : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { - internal global::Std.BasicString.__Internal text; + [FieldOffset(0)] + internal global::Std.BasicString.__Internal Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -1933,6 +2037,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8ArgumentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8Argument7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20InlineCommandComment8Argument7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -1979,7 +2089,7 @@ internal static Argument __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2000,7 +2110,7 @@ protected Argument(void* native, bool skipVTables = false) public Argument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2008,7 +2118,7 @@ public Argument() public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2033,7 +2143,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2041,13 +2151,13 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } @@ -2078,7 +2188,7 @@ internal static InlineCommandComment __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.InlineCommandComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2098,7 +2208,7 @@ protected InlineCommandComment(void* native, bool skipVTables = false) public InlineCommandComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2107,7 +2217,7 @@ public InlineCommandComment() public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2127,7 +2237,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2191,10 +2301,13 @@ public uint ArgumentsCount public unsafe partial class HTMLTagComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14HTMLTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -2233,7 +2346,7 @@ internal static HTMLTagComment __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -2253,7 +2366,7 @@ protected HTMLTagComment(void* native, bool skipVTables = false) public HTMLTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2262,7 +2375,7 @@ public HTMLTagComment() public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, Kind); @@ -2271,7 +2384,7 @@ public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.HTMLTagComment.__Internal*) _0.__Instance); @@ -2285,12 +2398,19 @@ public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; - internal global::Std.BasicString.__Internal tagName; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internal TagName; + + [FieldOffset(16)] internal global::Std.Vector.__Internal Attributes; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -2311,17 +2431,26 @@ public unsafe partial class HTMLStartTagComment : global::CppSharp.Parser.AST.HT [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment15clearAttributesEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearAttributes(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment10getTagNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTagName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment10setTagNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTagName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetAttributesCount(__IntPtr __instance); } public unsafe partial class Attribute : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { - internal global::Std.BasicString.__Internal name; - internal global::Std.BasicString.__Internal value; + [FieldOffset(0)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internal Value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -2331,6 +2460,18 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9AttributeD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute8getValueEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetValue(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment9Attribute8setValueEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetValue(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -2377,7 +2518,7 @@ internal static Attribute __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2398,7 +2539,7 @@ protected Attribute(void* native, bool skipVTables = false) public Attribute() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2406,7 +2547,7 @@ public Attribute() public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2431,7 +2572,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2439,13 +2580,13 @@ public string Name { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + __Internal.SetName(__Instance, value); } } @@ -2453,13 +2594,13 @@ public string Value { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->value)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetValue(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->value), value); + __Internal.SetValue(__Instance, value); } } } @@ -2490,7 +2631,7 @@ internal static HTMLStartTagComment __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2510,7 +2651,7 @@ protected HTMLStartTagComment(void* native, bool skipVTables = false) public HTMLStartTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2519,7 +2660,7 @@ public HTMLStartTagComment() public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2539,7 +2680,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2569,13 +2710,13 @@ public string TagName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->tagName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetTagName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->tagName), value); + __Internal.SetTagName(__Instance, value); } } @@ -2591,12 +2732,17 @@ public uint AttributesCount public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTMLTagComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; - internal global::Std.BasicString.__Internal tagName; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internal TagName; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -2606,6 +2752,12 @@ public unsafe partial class HTMLEndTagComment : global::CppSharp.Parser.AST.HTML [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagComment10getTagNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTagName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17HTMLEndTagComment10setTagNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTagName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new HTMLEndTagComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -2634,7 +2786,7 @@ internal static HTMLEndTagComment __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2654,7 +2806,7 @@ protected HTMLEndTagComment(void* native, bool skipVTables = false) public HTMLEndTagComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2663,7 +2815,7 @@ public HTMLEndTagComment() public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2683,7 +2835,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2691,25 +2843,30 @@ public string TagName { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->tagName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetTagName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->tagName), value); + __Internal.SetTagName(__Instance, value); } } } public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CommentKind kind; + + [FieldOffset(4)] internal byte hasTrailingNewline; - internal global::Std.BasicString.__Internal text; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internal Text; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -2719,6 +2876,12 @@ public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineCont [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TextComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new TextComment __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -2747,7 +2910,7 @@ internal static TextComment __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TextComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2767,7 +2930,7 @@ protected TextComment(void* native, bool skipVTables = false) public TextComment() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TextComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2776,7 +2939,7 @@ public TextComment() public TextComment(global::CppSharp.Parser.AST.TextComment _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TextComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2796,7 +2959,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2804,25 +2967,32 @@ public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetText(__Instance, value); } } } public unsafe partial class RawComment : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.RawCommentKind kind; - internal global::Std.BasicString.__Internal text; - internal global::Std.BasicString.__Internal briefText; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internal Text; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internal BriefText; + + [FieldOffset(24)] internal __IntPtr fullCommentBlock; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawCommentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -2833,6 +3003,18 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawCommentD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment12getBriefTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBriefText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10RawComment12setBriefTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBriefText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -2879,7 +3061,7 @@ internal static RawComment __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.RawComment.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -2900,7 +3082,7 @@ protected RawComment(void* native, bool skipVTables = false) public RawComment() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.RawComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -2908,7 +3090,7 @@ public RawComment() public RawComment(global::CppSharp.Parser.AST.RawComment _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.RawComment.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -2933,7 +3115,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -2950,45 +3132,45 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) } } - public string Text + public global::CppSharp.Parser.AST.FullComment FullCommentBlock { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var __result0 = global::CppSharp.Parser.AST.FullComment.__GetOrCreateInstance(((__Internal*)__Instance)->fullCommentBlock, false); + return __result0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + ((__Internal*)__Instance)->fullCommentBlock = value is null ? __IntPtr.Zero : value.__Instance; } } - public string BriefText + public string Text { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->briefText)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->briefText), value); + __Internal.SetText(__Instance, value); } } - public global::CppSharp.Parser.AST.FullComment FullCommentBlock + public string BriefText { get { - var __result0 = global::CppSharp.Parser.AST.FullComment.__GetOrCreateInstance(((__Internal*)__Instance)->fullCommentBlock, false); - return __result0; + var ___ret = __Internal.GetBriefText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->fullCommentBlock = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetBriefText(__Instance, value); } } } @@ -3002,9 +3184,10 @@ namespace Parser { public unsafe partial struct SourceLocation { - [StructLayout(LayoutKind.Sequential, Size = 4)] + [StructLayout(LayoutKind.Explicit, Size = 4)] public partial struct __Internal { + [FieldOffset(0)] internal uint ID; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser14SourceLocationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3090,10 +3273,13 @@ public uint ID public unsafe partial class SourceRange : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11SourceRangeC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] @@ -3147,7 +3333,7 @@ internal static SourceRange __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -3168,7 +3354,7 @@ protected SourceRange(void* native, bool skipVTables = false) public SourceRange(global::CppSharp.Parser.SourceRange _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.SourceRange.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); @@ -3176,7 +3362,7 @@ public SourceRange(global::CppSharp.Parser.SourceRange _0) public SourceRange() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.SourceRange.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3196,7 +3382,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3314,10 +3500,13 @@ public enum ExceptionSpecType public unsafe partial class Type : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4TypeC2ENS1_8TypeKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -3371,7 +3560,7 @@ internal static Type __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Type.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -3392,7 +3581,7 @@ protected Type(void* native, bool skipVTables = false) public Type(global::CppSharp.Parser.AST.TypeKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Type.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -3400,7 +3589,7 @@ public Type(global::CppSharp.Parser.AST.TypeKind kind) public Type(global::CppSharp.Parser.AST.Type _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Type.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -3423,7 +3612,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3461,11 +3650,16 @@ public bool IsDependent public unsafe partial class TypeQualifiers : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 3)] + [StructLayout(LayoutKind.Explicit, Size = 3)] public partial struct __Internal { + [FieldOffset(0)] internal byte isConst; + + [FieldOffset(1)] internal byte isVolatile; + + [FieldOffset(2)] internal byte isRestrict; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14TypeQualifiersC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] @@ -3516,7 +3710,7 @@ internal static TypeQualifiers __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -3537,7 +3731,7 @@ protected TypeQualifiers(void* native, bool skipVTables = false) public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); @@ -3545,7 +3739,7 @@ public TypeQualifiers(global::CppSharp.Parser.AST.TypeQualifiers _0) public TypeQualifiers() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } @@ -3564,7 +3758,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3610,10 +3804,13 @@ public bool IsRestrict public unsafe partial class QualifiedType : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { + [FieldOffset(0)] internal __IntPtr type; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.TypeQualifiers.__Internal qualifiers; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13QualifiedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3667,7 +3864,7 @@ internal static QualifiedType __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -3688,7 +3885,7 @@ protected QualifiedType(void* native, bool skipVTables = false) public QualifiedType() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3696,7 +3893,7 @@ public QualifiedType() public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.QualifiedType.__Internal*) _0.__Instance); @@ -3716,7 +3913,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -3752,11 +3949,16 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class TagType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7TagTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3792,7 +3994,7 @@ internal static TagType __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TagType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -3812,7 +4014,7 @@ protected TagType(void* native, bool skipVTables = false) public TagType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TagType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3821,7 +4023,7 @@ public TagType() public TagType(global::CppSharp.Parser.AST.TagType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TagType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -3847,14 +4049,25 @@ public TagType(global::CppSharp.Parser.AST.TagType _0) public unsafe partial class ArrayType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + + [FieldOffset(32)] internal long size; + + [FieldOffset(40)] internal long elementSize; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ArrayTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -3898,7 +4111,7 @@ internal static ArrayType __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ArrayType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -3918,7 +4131,7 @@ protected ArrayType(void* native, bool skipVTables = false) public ArrayType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -3927,7 +4140,7 @@ public ArrayType() public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -3993,14 +4206,25 @@ public long ElementSize public unsafe partial class FunctionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(28)] internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + + [FieldOffset(32)] internal global::Std.Vector.__Internal Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12FunctionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4051,7 +4275,7 @@ internal static FunctionType __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FunctionType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4071,7 +4295,7 @@ protected FunctionType(void* native, bool skipVTables = false) public FunctionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4080,7 +4304,7 @@ public FunctionType() public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4100,7 +4324,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -4178,12 +4402,19 @@ public uint ParametersCount public unsafe partial class PointerType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.PointerType.TypeModifier modifier; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11PointerTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4227,7 +4458,7 @@ internal static PointerType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.PointerType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4247,7 +4478,7 @@ protected PointerType(void* native, bool skipVTables = false) public PointerType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4256,7 +4487,7 @@ public PointerType() public PointerType(global::CppSharp.Parser.AST.PointerType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4296,11 +4527,16 @@ public PointerType(global::CppSharp.Parser.AST.PointerType _0) public unsafe partial class MemberPointerType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17MemberPointerTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4336,7 +4572,7 @@ internal static MemberPointerType __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MemberPointerType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4356,7 +4592,7 @@ protected MemberPointerType(void* native, bool skipVTables = false) public MemberPointerType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4365,7 +4601,7 @@ public MemberPointerType() public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4392,11 +4628,16 @@ public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) public unsafe partial class TypedefType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TypedefTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4432,7 +4673,7 @@ internal static TypedefType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypedefType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4452,7 +4693,7 @@ protected TypedefType(void* native, bool skipVTables = false) public TypedefType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4461,7 +4702,7 @@ public TypedefType() public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4487,12 +4728,19 @@ public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) public unsafe partial class AttributedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal equivalent; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14AttributedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4528,7 +4776,7 @@ internal static AttributedType __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.AttributedType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4548,7 +4796,7 @@ protected AttributedType(void* native, bool skipVTables = false) public AttributedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4557,7 +4805,7 @@ public AttributedType() public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4599,13 +4847,22 @@ public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) public unsafe partial class DecayedType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + + [FieldOffset(40)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal pointee; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DecayedTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4641,7 +4898,7 @@ internal static DecayedType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DecayedType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4661,7 +4918,7 @@ protected DecayedType(void* native, bool skipVTables = false) public DecayedType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4670,7 +4927,7 @@ public DecayedType() public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -4727,12 +4984,19 @@ public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) public unsafe partial class TemplateArgument : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(24)] internal __IntPtr declaration; + + [FieldOffset(32)] internal long integral; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16TemplateArgumentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4798,7 +5062,7 @@ internal static TemplateArgument __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -4819,7 +5083,7 @@ protected TemplateArgument(void* native, bool skipVTables = false) public TemplateArgument() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4827,7 +5091,7 @@ public TemplateArgument() public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TemplateArgument.__Internal*) _0.__Instance); @@ -4847,7 +5111,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -4909,13 +5173,22 @@ public long Integral public unsafe partial class TemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(32)] internal __IntPtr _template; + + [FieldOffset(40)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26TemplateSpecializationTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -4966,7 +5239,7 @@ internal static TemplateSpecializationType __CreateInstance(__Internal native, b private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -4986,7 +5259,7 @@ protected TemplateSpecializationType(void* native, bool skipVTables = false) public TemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -4995,7 +5268,7 @@ public TemplateSpecializationType() public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5015,7 +5288,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5080,12 +5353,19 @@ public uint ArgumentsCount public unsafe partial class DependentTemplateSpecializationType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(32)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST35DependentTemplateSpecializationTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5136,7 +5416,7 @@ internal static DependentTemplateSpecializationType __CreateInstance(__Internal private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5156,7 +5436,7 @@ protected DependentTemplateSpecializationType(void* native, bool skipVTables = f public DependentTemplateSpecializationType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5165,7 +5445,7 @@ public DependentTemplateSpecializationType() public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5185,7 +5465,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5236,14 +5516,25 @@ public uint ArgumentsCount public unsafe partial class TemplateParameterType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr parameter; + + [FieldOffset(16)] internal uint depth; + + [FieldOffset(20)] internal uint index; + + [FieldOffset(24)] internal byte isParameterPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21TemplateParameterTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5282,7 +5573,7 @@ internal static TemplateParameterType __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateParameterType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5302,7 +5593,7 @@ protected TemplateParameterType(void* native, bool skipVTables = false) public TemplateParameterType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5311,7 +5602,7 @@ public TemplateParameterType() public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5331,7 +5622,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5391,12 +5682,19 @@ public bool IsParameterPack public unsafe partial class TemplateParameterSubstitutionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + + [FieldOffset(24)] internal __IntPtr replacedParameter; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST33TemplateParameterSubstitutionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5432,7 +5730,7 @@ internal static TemplateParameterSubstitutionType __CreateInstance(__Internal na private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5452,7 +5750,7 @@ protected TemplateParameterSubstitutionType(void* native, bool skipVTables = fal public TemplateParameterSubstitutionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5461,7 +5759,7 @@ public TemplateParameterSubstitutionType() public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5502,12 +5800,19 @@ public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplatePar public unsafe partial class InjectedClassNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + + [FieldOffset(24)] internal __IntPtr _class; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21InjectedClassNameTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5543,7 +5848,7 @@ internal static InjectedClassNameType __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.InjectedClassNameType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5563,7 +5868,7 @@ protected InjectedClassNameType(void* native, bool skipVTables = false) public InjectedClassNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5572,7 +5877,7 @@ public InjectedClassNameType() public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5613,13 +5918,20 @@ public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _ public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifier; - internal global::Std.BasicString.__Internal identifier; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internal Identifier; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -5629,6 +5941,12 @@ public unsafe partial class DependentNameType : global::CppSharp.Parser.AST.Type [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameTypeD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameType13getIdentifierEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetIdentifier(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17DependentNameType13setIdentifierEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetIdentifier(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new DependentNameType __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -5657,7 +5975,7 @@ internal static DependentNameType __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DependentNameType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5677,7 +5995,7 @@ protected DependentNameType(void* native, bool skipVTables = false) public DependentNameType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5686,7 +6004,7 @@ public DependentNameType() public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5706,7 +6024,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -5729,23 +6047,26 @@ public string Identifier { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->identifier)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetIdentifier(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->identifier), value); + __Internal.SetIdentifier(__Instance, value); } } } public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17PackExpansionTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5781,7 +6102,7 @@ internal static PackExpansionType __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.PackExpansionType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5801,7 +6122,7 @@ protected PackExpansionType(void* native, bool skipVTables = false) public PackExpansionType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5810,7 +6131,7 @@ public PackExpansionType() public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5822,12 +6143,19 @@ public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18UnaryTransformTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5863,7 +6191,7 @@ internal static UnaryTransformType __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.UnaryTransformType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5883,7 +6211,7 @@ protected UnaryTransformType(void* native, bool skipVTables = false) public UnaryTransformType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -5892,7 +6220,7 @@ public UnaryTransformType() public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -5934,11 +6262,16 @@ public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) public unsafe partial class UnresolvedUsingType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19UnresolvedUsingTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -5974,7 +6307,7 @@ internal static UnresolvedUsingType __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -5994,7 +6327,7 @@ protected UnresolvedUsingType(void* native, bool skipVTables = false) public UnresolvedUsingType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -6003,7 +6336,7 @@ public UnresolvedUsingType() public UnresolvedUsingType(global::CppSharp.Parser.AST.UnresolvedUsingType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6029,12 +6362,19 @@ public UnresolvedUsingType(global::CppSharp.Parser.AST.UnresolvedUsingType _0) public unsafe partial class VectorType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; + + [FieldOffset(24)] internal uint numElements; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10VectorTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -6070,7 +6410,7 @@ internal static VectorType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VectorType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -6090,7 +6430,7 @@ protected VectorType(void* native, bool skipVTables = false) public VectorType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VectorType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -6099,7 +6439,7 @@ public VectorType() public VectorType(global::CppSharp.Parser.AST.VectorType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VectorType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6139,11 +6479,16 @@ public uint NumElements public unsafe partial class BuiltinType : global::CppSharp.Parser.AST.Type, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.TypeKind kind; + + [FieldOffset(4)] internal byte isDependent; + + [FieldOffset(8)] internal global::CppSharp.Parser.AST.PrimitiveType type; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11BuiltinTypeC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -6179,7 +6524,7 @@ internal static BuiltinType __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BuiltinType.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -6199,7 +6544,7 @@ protected BuiltinType(void* native, bool skipVTables = false) public BuiltinType() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -6208,7 +6553,7 @@ public BuiltinType() public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6440,30 +6785,73 @@ public enum VTableComponentKind public unsafe partial class Declaration : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DeclarationC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -6493,6 +6881,24 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration19clearRedeclarationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearRedeclarations(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration6getUSREv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetUSR(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration6setUSREPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetUSR(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration12getDebugTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetDebugText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration12setDebugTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetDebugText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Declaration28getPreprocessedEntitiesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetPreprocessedEntitiesCount(__IntPtr __instance); @@ -6544,7 +6950,7 @@ internal static Declaration __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Declaration.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -6565,7 +6971,7 @@ protected Declaration(void* native, bool skipVTables = false) public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Declaration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -6573,7 +6979,7 @@ public Declaration(global::CppSharp.Parser.AST.DeclarationKind kind) public Declaration(global::CppSharp.Parser.AST.Declaration _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Declaration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -6598,7 +7004,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -6754,164 +7160,164 @@ public int LineNumberEnd } } - public string Name + public bool IsIncomplete { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isIncomplete != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + ((__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); } } - public string USR + public bool IsDependent { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->USR)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isDependent != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->USR), value); + ((__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); } } - public string DebugText + public bool IsImplicit { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->debugText)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isImplicit != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->debugText), value); + ((__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); } } - public bool IsIncomplete + public bool IsInvalid { get { - return ((__Internal*)__Instance)->isIncomplete != 0; + return ((__Internal*)__Instance)->isInvalid != 0; } set { - ((__Internal*)__Instance)->isIncomplete = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); } } - public bool IsDependent + public bool IsDeprecated { get { - return ((__Internal*)__Instance)->isDependent != 0; + return ((__Internal*)__Instance)->isDeprecated != 0; } set { - ((__Internal*)__Instance)->isDependent = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->isDeprecated = (byte) (value ? 1 : 0); } } - public bool IsImplicit + public global::CppSharp.Parser.AST.Declaration CompleteDeclaration { get { - return ((__Internal*)__Instance)->isImplicit != 0; + var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->completeDeclaration, false); + return __result0; } set { - ((__Internal*)__Instance)->isImplicit = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->completeDeclaration = value is null ? __IntPtr.Zero : value.__Instance; } } - public bool IsInvalid + public uint DefinitionOrder { get { - return ((__Internal*)__Instance)->isInvalid != 0; + return ((__Internal*)__Instance)->definitionOrder; } set { - ((__Internal*)__Instance)->isInvalid = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->definitionOrder = value; } } - public bool IsDeprecated + public __IntPtr OriginalPtr { get { - return ((__Internal*)__Instance)->isDeprecated != 0; + return ((__Internal*)__Instance)->originalPtr; } set { - ((__Internal*)__Instance)->isDeprecated = (byte) (value ? 1 : 0); + ((__Internal*)__Instance)->originalPtr = (__IntPtr) value; } } - public global::CppSharp.Parser.AST.Declaration CompleteDeclaration + public global::CppSharp.Parser.AST.RawComment Comment { get { - var __result0 = global::CppSharp.Parser.AST.Declaration.__GetOrCreateInstance(((__Internal*)__Instance)->completeDeclaration, false); + var __result0 = global::CppSharp.Parser.AST.RawComment.__GetOrCreateInstance(((__Internal*)__Instance)->comment, false); return __result0; } set { - ((__Internal*)__Instance)->completeDeclaration = value is null ? __IntPtr.Zero : value.__Instance; + ((__Internal*)__Instance)->comment = value is null ? __IntPtr.Zero : value.__Instance; } } - public uint DefinitionOrder + public string Name { get { - return ((__Internal*)__Instance)->definitionOrder; + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->definitionOrder = value; + __Internal.SetName(__Instance, value); } } - public __IntPtr OriginalPtr + public string USR { get { - return ((__Internal*)__Instance)->originalPtr; + var ___ret = __Internal.GetUSR(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->originalPtr = (__IntPtr) value; + __Internal.SetUSR(__Instance, value); } } - public global::CppSharp.Parser.AST.RawComment Comment + public string DebugText { get { - var __result0 = global::CppSharp.Parser.AST.RawComment.__GetOrCreateInstance(((__Internal*)__Instance)->comment, false); - return __result0; + var ___ret = __Internal.GetDebugText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->comment = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetDebugText(__Instance, value); } } @@ -6936,41 +7342,106 @@ public uint RedeclarationsCount public unsafe partial class DeclarationContext : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 424)] + [StructLayout(LayoutKind.Explicit, Size = 424)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(176)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(200)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(296)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(368)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] internal byte isAnonymous; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DeclarationContextC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -7117,7 +7588,7 @@ internal static DeclarationContext __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DeclarationContext.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7137,7 +7608,7 @@ protected DeclarationContext(void* native, bool skipVTables = false) public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -7146,7 +7617,7 @@ public DeclarationContext(global::CppSharp.Parser.AST.DeclarationKind kind) public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7166,7 +7637,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7461,31 +7932,76 @@ public uint FriendsCount public unsafe partial class TypedefNameDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TypedefNameDeclC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -7524,7 +8040,7 @@ internal static TypedefNameDecl __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypedefNameDecl.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7544,7 +8060,7 @@ protected TypedefNameDecl(void* native, bool skipVTables = false) public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -7553,7 +8069,7 @@ public TypedefNameDecl(global::CppSharp.Parser.AST.DeclarationKind kind) public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7573,7 +8089,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7600,31 +8116,76 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class TypedefDecl : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11TypedefDeclC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -7663,7 +8224,7 @@ internal static TypedefDecl __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypedefDecl.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7683,7 +8244,7 @@ protected TypedefDecl(void* native, bool skipVTables = false) public TypedefDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -7692,7 +8253,7 @@ public TypedefDecl() public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7712,39 +8273,86 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 176)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(168)] internal __IntPtr describedAliasTemplate; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9TypeAliasC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -7783,7 +8391,7 @@ internal static TypeAlias __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypeAlias.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7803,7 +8411,7 @@ protected TypeAlias(void* native, bool skipVTables = false) public TypeAlias() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -7812,7 +8420,7 @@ public TypeAlias() public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7832,7 +8440,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7853,31 +8461,76 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class Friend : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6FriendC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -7916,7 +8569,7 @@ internal static Friend __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Friend.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -7936,7 +8589,7 @@ protected Friend(void* native, bool skipVTables = false) public Friend() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Friend.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -7945,7 +8598,7 @@ public Friend() public Friend(global::CppSharp.Parser.AST.Friend _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Friend.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -7965,7 +8618,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -7986,21 +8639,29 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class StatementObsolete : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internal @string; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKSsNS1_22StatementClassObsoleteEPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, __IntPtr decl); + [FieldOffset(16)] + internal global::Std.BasicString.__Internal String; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsoleteD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsolete9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17StatementObsolete9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -8047,7 +8708,7 @@ internal static StatementObsolete __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.StatementObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8066,22 +8727,9 @@ protected StatementObsolete(void* native, bool skipVTables = false) __Instance = new __IntPtr(native); } - public StatementObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, Class, __arg2); - __basicString0.Dispose(); - } - public StatementObsolete(global::CppSharp.Parser.AST.StatementObsolete _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StatementObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8106,7 +8754,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8141,28 +8789,30 @@ public string String { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->@string)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->@string), value); + __Internal.SetString(__Instance, value); } } } public unsafe partial class ExpressionObsolete : global::CppSharp.Parser.AST.StatementObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internal @string; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKSsNS1_22StatementClassObsoleteEPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, __IntPtr decl); + [FieldOffset(16)] + internal global::Std.BasicString.__Internal String; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ExpressionObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); @@ -8197,7 +8847,7 @@ internal static ExpressionObsolete __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ExpressionObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8214,24 +8864,10 @@ protected ExpressionObsolete(void* native, bool skipVTables = false) { } - public ExpressionObsolete(string str, global::CppSharp.Parser.AST.StatementClassObsolete Class, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg2 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, Class, __arg2); - __basicString0.Dispose(); - } - public ExpressionObsolete(global::CppSharp.Parser.AST.ExpressionObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8251,31 +8887,45 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class BinaryOperatorObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internal @string; + + [FieldOffset(16)] + internal global::Std.BasicString.__Internal String; + + [FieldOffset(24)] internal __IntPtr LHS; + + [FieldOffset(32)] internal __IntPtr RHS; - internal global::Std.BasicString.__Internal opcodeStr; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKSsPNS1_18ExpressionObsoleteES6_S4_", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, __IntPtr lhs, __IntPtr rhs, __IntPtr opcodeStr); + [FieldOffset(40)] + internal global::Std.BasicString.__Internal OpcodeStr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsoleteD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsolete12getOpcodeStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetOpcodeStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22BinaryOperatorObsolete12setOpcodeStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetOpcodeStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new BinaryOperatorObsolete __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -8304,7 +8954,7 @@ internal static BinaryOperatorObsolete __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8321,29 +8971,10 @@ protected BinaryOperatorObsolete(void* native, bool skipVTables = false) { } - public BinaryOperatorObsolete(string str, global::CppSharp.Parser.AST.ExpressionObsolete lhs, global::CppSharp.Parser.AST.ExpressionObsolete rhs, string opcodeStr) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = lhs is null ? __IntPtr.Zero : lhs.__Instance; - var __arg2 = rhs is null ? __IntPtr.Zero : rhs.__Instance; - var __basicString3 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString3, opcodeStr); - var __arg3 = __basicString3.__Instance; - __Internal.ctor(__Instance, __arg0, __arg1, __arg2, __arg3); - __basicString0.Dispose(); - __basicString3.Dispose(); - } - public BinaryOperatorObsolete(global::CppSharp.Parser.AST.BinaryOperatorObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperatorObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8363,7 +8994,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8399,29 +9030,33 @@ public string OpcodeStr { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->opcodeStr)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetOpcodeStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->opcodeStr), value); + __Internal.SetOpcodeStr(__Instance, value); } } } public unsafe partial class CallExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internal @string; - internal global::Std.Vector.__Internal Arguments; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKSsPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, __IntPtr decl); + [FieldOffset(16)] + internal global::Std.BasicString.__Internal String; + + [FieldOffset(24)] + internal global::Std.Vector.__Internal Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CallExprObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); @@ -8468,7 +9103,7 @@ internal static CallExprObsolete __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CallExprObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8485,24 +9120,10 @@ protected CallExprObsolete(void* native, bool skipVTables = false) { } - public CallExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, __arg1); - __basicString0.Dispose(); - } - public CallExprObsolete(global::CppSharp.Parser.AST.CallExprObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExprObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8522,7 +9143,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8559,16 +9180,20 @@ public uint ArgumentsCount public unsafe partial class CXXConstructExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + + [FieldOffset(8)] internal __IntPtr decl; - internal global::Std.BasicString.__Internal @string; - internal global::Std.Vector.__Internal Arguments; - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKSsPNS1_11DeclarationE", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void ctor(__IntPtr __instance, __IntPtr str, __IntPtr decl); + [FieldOffset(16)] + internal global::Std.BasicString.__Internal String; + + [FieldOffset(24)] + internal global::Std.Vector.__Internal Arguments; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXConstructExprObsoleteC2ERKS2_", CallingConvention = __CallingConvention.Cdecl)] internal static extern void cctor(__IntPtr __instance, __IntPtr _0); @@ -8615,7 +9240,7 @@ internal static CXXConstructExprObsolete __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8632,24 +9257,10 @@ protected CXXConstructExprObsolete(void* native, bool skipVTables = false) { } - public CXXConstructExprObsolete(string str, global::CppSharp.Parser.AST.Declaration decl) - : this((void*) null) - { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); - __ownsNativeInstance = true; - __RecordNativeToManagedMapping(__Instance, this); - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, str); - var __arg0 = __basicString0.__Instance; - var __arg1 = decl is null ? __IntPtr.Zero : decl.__Instance; - __Internal.ctor(__Instance, __arg0, __arg1); - __basicString0.Dispose(); - } - public CXXConstructExprObsolete(global::CppSharp.Parser.AST.CXXConstructExprObsolete _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExprObsolete.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8669,7 +9280,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8706,36 +9317,91 @@ public uint ArgumentsCount public unsafe partial class Parameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 192)] + [StructLayout(LayoutKind.Explicit, Size = 192)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(168)] internal byte isIndirect; + + [FieldOffset(169)] internal byte hasDefaultValue; + + [FieldOffset(172)] internal uint index; + + [FieldOffset(176)] internal __IntPtr defaultArgument; + + [FieldOffset(184)] internal __IntPtr defaultValue; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -8774,7 +9440,7 @@ internal static Parameter __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Parameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -8794,7 +9460,7 @@ protected Parameter(void* native, bool skipVTables = false) public Parameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Parameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -8803,7 +9469,7 @@ public Parameter() public Parameter(global::CppSharp.Parser.AST.Parameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Parameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -8823,7 +9489,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -8912,61 +9578,166 @@ public uint Index public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 552)] + [StructLayout(LayoutKind.Explicit, Size = 552)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(176)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(200)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(296)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(368)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] internal byte isAnonymous; + + [FieldOffset(424)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(440)] internal byte isReturnIndirect; + + [FieldOffset(441)] internal byte hasThisReturn; + + [FieldOffset(442)] internal byte isConstExpr; + + [FieldOffset(443)] internal byte isVariadic; + + [FieldOffset(444)] internal byte isInline; + + [FieldOffset(445)] internal byte isPure; + + [FieldOffset(446)] internal byte isDeleted; + + [FieldOffset(447)] internal byte isDefaulted; + + [FieldOffset(448)] internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(452)] internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - internal global::Std.BasicString.__Internal mangled; - internal global::Std.BasicString.__Internal signature; - internal global::Std.BasicString.__Internal body; + + [FieldOffset(456)] + internal global::Std.BasicString.__Internal Mangled; + + [FieldOffset(464)] + internal global::Std.BasicString.__Internal Signature; + + [FieldOffset(472)] + internal global::Std.BasicString.__Internal Body; + + [FieldOffset(480)] internal __IntPtr bodyStmt; + + [FieldOffset(488)] internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(496)] internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(520)] internal __IntPtr specializationInfo; + + [FieldOffset(528)] internal __IntPtr instantiatedFrom; + + [FieldOffset(536)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8FunctionC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -8987,6 +9758,24 @@ public unsafe partial class Function : global::CppSharp.Parser.AST.DeclarationCo [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function15clearParametersEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearParameters(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function10getMangledEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMangled(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function10setMangledEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMangled(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function12getSignatureEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetSignature(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function12setSignatureEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetSignature(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function7getBodyEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBody(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function7setBodyEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBody(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Function18getParametersCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetParametersCount(__IntPtr __instance); } @@ -9017,7 +9806,7 @@ internal static Function __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Function.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9037,7 +9826,7 @@ protected Function(void* native, bool skipVTables = false) public Function() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Function.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9046,7 +9835,7 @@ public Function() public Function(global::CppSharp.Parser.AST.Function _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Function.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -9066,7 +9855,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -9236,17 +10025,87 @@ public bool IsDefaulted } } + public global::CppSharp.Parser.AST.Stmt BodyStmt + { + get + { + var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->bodyStmt, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->bodyStmt = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.CallingConvention CallingConvention + { + get + { + return ((__Internal*)__Instance)->callingConvention; + } + + set + { + ((__Internal*)__Instance)->callingConvention = value; + } + } + + public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo + { + get + { + var __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__GetOrCreateInstance(((__Internal*)__Instance)->specializationInfo, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->specializationInfo = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.Function InstantiatedFrom + { + get + { + var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(((__Internal*)__Instance)->instantiatedFrom, false); + return __result0; + } + + set + { + ((__Internal*)__Instance)->instantiatedFrom = value is null ? __IntPtr.Zero : value.__Instance; + } + } + + public global::CppSharp.Parser.AST.QualifiedType QualifiedType + { + get + { + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + } + + set + { + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + } + } + public string Mangled { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->mangled)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetMangled(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->mangled), value); + __Internal.SetMangled(__Instance, value); } } @@ -9254,13 +10113,13 @@ public string Signature { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->signature)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetSignature(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->signature), value); + __Internal.SetSignature(__Instance, value); } } @@ -9268,83 +10127,13 @@ public string Body { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->body)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetBody(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->body), value); - } - } - - public global::CppSharp.Parser.AST.Stmt BodyStmt - { - get - { - var __result0 = global::CppSharp.Parser.AST.Stmt.__GetOrCreateInstance(((__Internal*)__Instance)->bodyStmt, false); - return __result0; - } - - set - { - ((__Internal*)__Instance)->bodyStmt = value is null ? __IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.CallingConvention CallingConvention - { - get - { - return ((__Internal*)__Instance)->callingConvention; - } - - set - { - ((__Internal*)__Instance)->callingConvention = value; - } - } - - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization SpecializationInfo - { - get - { - var __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__GetOrCreateInstance(((__Internal*)__Instance)->specializationInfo, false); - return __result0; - } - - set - { - ((__Internal*)__Instance)->specializationInfo = value is null ? __IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.Function InstantiatedFrom - { - get - { - var __result0 = global::CppSharp.Parser.AST.Function.__GetOrCreateInstance(((__Internal*)__Instance)->instantiatedFrom, false); - return __result0; - } - - set - { - ((__Internal*)__Instance)->instantiatedFrom = value is null ? __IntPtr.Zero : value.__Instance; - } - } - - public global::CppSharp.Parser.AST.QualifiedType QualifiedType - { - get - { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); - } - - set - { - if (ReferenceEquals(value, null)) - throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); - ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + __Internal.SetBody(__Instance, value); } } @@ -9360,73 +10149,202 @@ public uint ParametersCount public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 616)] + [StructLayout(LayoutKind.Explicit, Size = 616)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(176)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(200)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(296)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(368)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] internal byte isAnonymous; + + [FieldOffset(424)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + + [FieldOffset(440)] internal byte isReturnIndirect; + + [FieldOffset(441)] internal byte hasThisReturn; + + [FieldOffset(442)] internal byte isConstExpr; + + [FieldOffset(443)] internal byte isVariadic; + + [FieldOffset(444)] internal byte isInline; + + [FieldOffset(445)] internal byte isPure; + + [FieldOffset(446)] internal byte isDeleted; + + [FieldOffset(447)] internal byte isDefaulted; + + [FieldOffset(448)] internal global::CppSharp.Parser.AST.FriendKind friendKind; + + [FieldOffset(452)] internal global::CppSharp.Parser.AST.CXXOperatorKind operatorKind; - internal global::Std.BasicString.__Internal mangled; - internal global::Std.BasicString.__Internal signature; - internal global::Std.BasicString.__Internal body; + + [FieldOffset(456)] + internal global::Std.BasicString.__Internal Mangled; + + [FieldOffset(464)] + internal global::Std.BasicString.__Internal Signature; + + [FieldOffset(472)] + internal global::Std.BasicString.__Internal Body; + + [FieldOffset(480)] internal __IntPtr bodyStmt; + + [FieldOffset(488)] internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + + [FieldOffset(496)] internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(520)] internal __IntPtr specializationInfo; + + [FieldOffset(528)] internal __IntPtr instantiatedFrom; + + [FieldOffset(536)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(552)] internal byte isVirtual; + + [FieldOffset(553)] internal byte isStatic; + + [FieldOffset(554)] internal byte isConst; + + [FieldOffset(555)] internal byte isExplicit; + + [FieldOffset(556)] internal byte isVolatile; + + [FieldOffset(560)] internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + + [FieldOffset(564)] internal byte isDefaultConstructor; + + [FieldOffset(565)] internal byte isCopyConstructor; + + [FieldOffset(566)] internal byte isMoveConstructor; + + [FieldOffset(568)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + + [FieldOffset(584)] internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + + [FieldOffset(592)] internal global::Std.Vector.__Internal OverriddenMethods; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6MethodC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -9477,7 +10395,7 @@ internal static Method __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Method.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9497,7 +10415,7 @@ protected Method(void* native, bool skipVTables = false) public Method() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Method.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9506,7 +10424,7 @@ public Method() public Method(global::CppSharp.Parser.AST.Method _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Method.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -9526,7 +10444,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -9708,45 +10626,118 @@ public uint OverriddenMethodsCount public unsafe partial class Enumeration : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 464)] + [StructLayout(LayoutKind.Explicit, Size = 464)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(176)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(200)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(296)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(368)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] internal byte isAnonymous; + + [FieldOffset(420)] internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + + [FieldOffset(424)] internal __IntPtr type; + + [FieldOffset(432)] internal __IntPtr builtinType; + + [FieldOffset(440)] internal global::Std.Vector.__Internal Items; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11EnumerationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -9767,9 +10758,6 @@ public unsafe partial class Enumeration : global::CppSharp.Parser.AST.Declaratio [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration10clearItemsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearItems(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration14FindItemByNameERKSs", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindItemByName(__IntPtr __instance, __IntPtr Name); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration13getItemsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetItemsCount(__IntPtr __instance); } @@ -9784,32 +10772,79 @@ public enum EnumModifiers public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; - internal global::Std.BasicString.__Internal expression; + + [FieldOffset(152)] + internal global::Std.BasicString.__Internal Expression; + + [FieldOffset(160)] internal ulong value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4ItemC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -9820,6 +10855,12 @@ public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDis [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4ItemD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4Item13getExpressionEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetExpression(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11Enumeration4Item13setExpressionEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetExpression(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new Item __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -9848,7 +10889,7 @@ internal static Item __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Enumeration.Item.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9868,7 +10909,7 @@ protected Item(void* native, bool skipVTables = false) public Item() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9877,7 +10918,7 @@ public Item() public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -9897,34 +10938,34 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string Expression + public ulong Value { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->expression)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->value; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->expression), value); + ((__Internal*)__Instance)->value = value; } } - public ulong Value + public string Expression { get { - return ((__Internal*)__Instance)->value; + var ___ret = __Internal.GetExpression(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->value = value; + __Internal.SetExpression(__Instance, value); } } } @@ -9955,7 +10996,7 @@ internal static Enumeration __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Enumeration.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -9975,7 +11016,7 @@ protected Enumeration(void* native, bool skipVTables = false) public Enumeration() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -9984,7 +11025,7 @@ public Enumeration() public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10004,7 +11045,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10029,17 +11070,6 @@ public void ClearItems() __Internal.ClearItems(__Instance); } - public global::CppSharp.Parser.AST.Enumeration.Item FindItemByName(string Name) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, Name); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindItemByName(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.Enumeration.Item.__GetOrCreateInstance(___ret, false); - return __result0; - } - public global::CppSharp.Parser.AST.Enumeration.EnumModifiers Modifiers { get @@ -10093,34 +11123,85 @@ public uint ItemsCount public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 192)] + [StructLayout(LayoutKind.Explicit, Size = 192)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal byte isConstExpr; - internal global::Std.BasicString.__Internal mangled; + + [FieldOffset(160)] + internal global::Std.BasicString.__Internal Mangled; + + [FieldOffset(168)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(184)] internal __IntPtr initializer; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8VariableC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10131,6 +11212,12 @@ public unsafe partial class Variable : global::CppSharp.Parser.AST.Declaration, [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8VariableD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Variable10getMangledEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMangled(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8Variable10setMangledEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMangled(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new Variable __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -10159,7 +11246,7 @@ internal static Variable __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Variable.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10179,7 +11266,7 @@ protected Variable(void* native, bool skipVTables = false) public Variable() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Variable.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10188,7 +11275,7 @@ public Variable() public Variable(global::CppSharp.Parser.AST.Variable _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Variable.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10208,7 +11295,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10225,58 +11312,65 @@ public bool IsConstExpr } } - public string Mangled + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->mangled)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->mangled), value); + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public global::CppSharp.Parser.AST.ExpressionObsolete Initializer { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(((__Internal*)__Instance)->initializer, false); + return __result0; } set { - if (ReferenceEquals(value, null)) - throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); - ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((__Internal*)__Instance)->initializer = value is null ? __IntPtr.Zero : value.__Instance; } } - public global::CppSharp.Parser.AST.ExpressionObsolete Initializer + public string Mangled { get { - var __result0 = global::CppSharp.Parser.AST.ExpressionObsolete.__GetOrCreateInstance(((__Internal*)__Instance)->initializer, false); - return __result0; + var ___ret = __Internal.GetMangled(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->initializer = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetMangled(__Instance, value); } } } public unsafe partial class BaseClassSpecifier : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(4)] internal byte isVirtual; + + [FieldOffset(8)] internal __IntPtr type; + + [FieldOffset(16)] internal int offset; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18BaseClassSpecifierC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10330,7 +11424,7 @@ internal static BaseClassSpecifier __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -10351,7 +11445,7 @@ protected BaseClassSpecifier(void* native, bool skipVTables = false) public BaseClassSpecifier() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10359,7 +11453,7 @@ public BaseClassSpecifier() public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal*) _0.__Instance); @@ -10379,7 +11473,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10439,34 +11533,85 @@ public int Offset public unsafe partial class Field : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 184)] + [StructLayout(LayoutKind.Explicit, Size = 184)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(168)] internal __IntPtr _class; + + [FieldOffset(176)] internal byte isBitField; + + [FieldOffset(180)] internal uint bitWidth; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5FieldC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10505,7 +11650,7 @@ internal static Field __CreateInstance(__Internal native, bool skipVTables = fal private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Field.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10525,7 +11670,7 @@ protected Field(void* native, bool skipVTables = false) public Field() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Field.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10534,7 +11679,7 @@ public Field() public Field(global::CppSharp.Parser.AST.Field _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Field.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10554,7 +11699,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10616,30 +11761,73 @@ public uint BitWidth public unsafe partial class AccessSpecifierDecl : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19AccessSpecifierDeclC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10678,7 +11866,7 @@ internal static AccessSpecifierDecl __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10698,7 +11886,7 @@ protected AccessSpecifierDecl(void* native, bool skipVTables = false) public AccessSpecifierDecl() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10707,7 +11895,7 @@ public AccessSpecifierDecl() public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -10727,18 +11915,23 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class VTableComponent : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.VTableComponentKind kind; + + [FieldOffset(4)] internal uint offset; + + [FieldOffset(8)] internal __IntPtr declaration; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15VTableComponentC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10792,7 +11985,7 @@ internal static VTableComponent __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -10813,7 +12006,7 @@ protected VTableComponent(void* native, bool skipVTables = false) public VTableComponent() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10821,7 +12014,7 @@ public VTableComponent() public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VTableComponent.__Internal*) _0.__Instance); @@ -10841,7 +12034,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -10888,9 +12081,10 @@ public uint Offset public unsafe partial class VTableLayout : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internal Components; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12VTableLayoutC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -10959,7 +12153,7 @@ internal static VTableLayout __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VTableLayout.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -10980,7 +12174,7 @@ protected VTableLayout(void* native, bool skipVTables = false) public VTableLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -10988,7 +12182,7 @@ public VTableLayout() public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -11013,7 +12207,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11048,12 +12242,19 @@ public uint ComponentsCount public unsafe partial class VFTableInfo : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public partial struct __Internal { + [FieldOffset(0)] internal ulong VBTableIndex; + + [FieldOffset(8)] internal uint VFPtrOffset; + + [FieldOffset(12)] internal uint VFPtrFullOffset; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VFTableInfoC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11110,7 +12311,7 @@ internal static VFTableInfo __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VFTableInfo.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11131,7 +12332,7 @@ protected VFTableInfo(void* native, bool skipVTables = false) public VFTableInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11139,7 +12340,7 @@ public VFTableInfo() public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -11164,7 +12365,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11225,12 +12426,19 @@ public uint VFPtrFullOffset public unsafe partial class LayoutField : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public partial struct __Internal { + [FieldOffset(0)] internal uint offset; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(32)] internal __IntPtr fieldPtr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutFieldC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11241,6 +12449,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutFieldD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutField7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11LayoutField7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -11287,7 +12501,7 @@ internal static LayoutField __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.LayoutField.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11308,7 +12522,7 @@ protected LayoutField(void* native, bool skipVTables = false) public LayoutField() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11316,7 +12530,7 @@ public LayoutField() public LayoutField(global::CppSharp.Parser.AST.LayoutField other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(other, null)) @@ -11341,7 +12555,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11358,55 +12572,58 @@ public uint Offset } } - public string Name + public global::CppSharp.Parser.AST.QualifiedType QualifiedType { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + if (ReferenceEquals(value, null)) + throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); + ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; } } - public global::CppSharp.Parser.AST.QualifiedType QualifiedType + public __IntPtr FieldPtr { get { - return global::CppSharp.Parser.AST.QualifiedType.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->qualifiedType)); + return ((__Internal*)__Instance)->fieldPtr; } set { - if (ReferenceEquals(value, null)) - throw new global::System.ArgumentNullException("value", "Cannot be null because it is passed by value."); - ((__Internal*)__Instance)->qualifiedType = *(global::CppSharp.Parser.AST.QualifiedType.__Internal*) value.__Instance; + ((__Internal*)__Instance)->fieldPtr = (__IntPtr) value; } } - public __IntPtr FieldPtr + public string Name { get { - return ((__Internal*)__Instance)->fieldPtr; + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->fieldPtr = (__IntPtr) value; + __Internal.SetName(__Instance, value); } } } public unsafe partial class LayoutBase : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { + [FieldOffset(0)] internal uint offset; + + [FieldOffset(8)] internal __IntPtr _class; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LayoutBaseC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11463,7 +12680,7 @@ internal static LayoutBase __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.LayoutBase.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11484,7 +12701,7 @@ protected LayoutBase(void* native, bool skipVTables = false) public LayoutBase() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11492,7 +12709,7 @@ public LayoutBase() public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(other, null)) @@ -11517,7 +12734,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11551,19 +12768,40 @@ public uint Offset public unsafe partial class ClassLayout : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CppAbi ABI; + + [FieldOffset(4)] internal global::CppSharp.Parser.AST.RecordArgABI argABI; + + [FieldOffset(8)] internal global::Std.Vector.__Internal VFTables; + + [FieldOffset(32)] internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + + [FieldOffset(56)] internal byte hasOwnVFPtr; + + [FieldOffset(64)] internal long VBPtrOffset; + + [FieldOffset(72)] internal int alignment; + + [FieldOffset(76)] internal int size; + + [FieldOffset(80)] internal int dataSize; + + [FieldOffset(88)] internal global::Std.Vector.__Internal Fields; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Bases; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11ClassLayoutC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -11656,7 +12894,7 @@ internal static ClassLayout __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassLayout.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -11677,7 +12915,7 @@ protected ClassLayout(void* native, bool skipVTables = false) public ClassLayout() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -11685,7 +12923,7 @@ public ClassLayout() public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -11710,7 +12948,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -11916,57 +13154,154 @@ public uint BasesCount public unsafe partial class Class : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 544)] + [StructLayout(LayoutKind.Explicit, Size = 544)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(176)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(200)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(296)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(368)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] internal byte isAnonymous; + + [FieldOffset(424)] internal global::Std.Vector.__Internal Bases; + + [FieldOffset(448)] internal global::Std.Vector.__Internal Fields; + + [FieldOffset(472)] internal global::Std.Vector.__Internal Methods; + + [FieldOffset(496)] internal global::Std.Vector.__Internal Specifiers; + + [FieldOffset(520)] internal byte isPOD; + + [FieldOffset(521)] internal byte isAbstract; + + [FieldOffset(522)] internal byte isUnion; + + [FieldOffset(523)] internal byte isDynamic; + + [FieldOffset(524)] internal byte isPolymorphic; + + [FieldOffset(525)] internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(526)] internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(527)] internal byte hasNonTrivialDestructor; + + [FieldOffset(528)] internal byte isExternCContext; + + [FieldOffset(529)] internal byte isInjected; + + [FieldOffset(532)] internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(536)] internal __IntPtr layout; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST5ClassC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -12053,7 +13388,7 @@ internal static Class __CreateInstance(__Internal native, bool skipVTables = fal private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Class.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12073,7 +13408,7 @@ protected Class(void* native, bool skipVTables = false) public Class() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Class.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12082,7 +13417,7 @@ public Class() public Class(global::CppSharp.Parser.AST.Class _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Class.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12102,7 +13437,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -12386,32 +13721,79 @@ public uint SpecifiersCount public unsafe partial class Template : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 184)] + [StructLayout(LayoutKind.Explicit, Size = 184)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal __IntPtr TemplatedDecl; + + [FieldOffset(160)] internal global::Std.Vector.__Internal Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8TemplateC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -12465,7 +13847,7 @@ internal static Template __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Template.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12485,7 +13867,7 @@ protected Template(void* native, bool skipVTables = false) public Template(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -12494,7 +13876,7 @@ public Template(global::CppSharp.Parser.AST.DeclarationKind kind) public Template() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12503,7 +13885,7 @@ public Template() public Template(global::CppSharp.Parser.AST.Template _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Template.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12523,7 +13905,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -12579,32 +13961,79 @@ public uint ParametersCount public unsafe partial class TypeAliasTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 184)] + [StructLayout(LayoutKind.Explicit, Size = 184)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal __IntPtr TemplatedDecl; + + [FieldOffset(160)] internal global::Std.Vector.__Internal Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17TypeAliasTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -12643,7 +14072,7 @@ internal static TypeAliasTemplate __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12663,7 +14092,7 @@ protected TypeAliasTemplate(void* native, bool skipVTables = false) public TypeAliasTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12672,7 +14101,7 @@ public TypeAliasTemplate() public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12692,40 +14121,89 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal uint depth; + + [FieldOffset(156)] internal uint index; + + [FieldOffset(160)] internal byte isParameterPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17TemplateParameterC2ENS1_15DeclarationKindE", CallingConvention = __CallingConvention.Cdecl)] @@ -12764,7 +14242,7 @@ internal static TemplateParameter __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12784,7 +14262,7 @@ protected TemplateParameter(void* native, bool skipVTables = false) public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, kind); @@ -12793,7 +14271,7 @@ public TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12813,7 +14291,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -12864,35 +14342,88 @@ public bool IsParameterPack public unsafe partial class TemplateTemplateParameter : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 192)] + [StructLayout(LayoutKind.Explicit, Size = 192)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal __IntPtr TemplatedDecl; + + [FieldOffset(160)] internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(184)] internal byte isParameterPack; + + [FieldOffset(185)] internal byte isPackExpansion; + + [FieldOffset(186)] internal byte isExpandedParameterPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25TemplateTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -12931,7 +14462,7 @@ internal static TemplateTemplateParameter __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -12951,7 +14482,7 @@ protected TemplateTemplateParameter(void* native, bool skipVTables = false) public TemplateTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -12960,7 +14491,7 @@ public TemplateTemplateParameter() public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -12980,7 +14511,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13026,34 +14557,85 @@ public bool IsExpandedParameterPack public unsafe partial class TypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 184)] + [StructLayout(LayoutKind.Explicit, Size = 184)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal uint depth; + + [FieldOffset(156)] internal uint index; + + [FieldOffset(160)] internal byte isParameterPack; + + [FieldOffset(168)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal defaultArgument; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21TypeTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13092,7 +14674,7 @@ internal static TypeTemplateParameter __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13112,7 +14694,7 @@ protected TypeTemplateParameter(void* native, bool skipVTables = false) public TypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13121,7 +14703,7 @@ public TypeTemplateParameter() public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13141,7 +14723,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13163,39 +14745,100 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class NonTypeTemplateParameter : global::CppSharp.Parser.AST.TemplateParameter, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 208)] + [StructLayout(LayoutKind.Explicit, Size = 208)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal uint depth; + + [FieldOffset(156)] internal uint index; + + [FieldOffset(160)] internal byte isParameterPack; + + [FieldOffset(168)] internal __IntPtr defaultArgument; + + [FieldOffset(176)] internal __IntPtr defaultArgumentNew; + + [FieldOffset(184)] internal uint position; + + [FieldOffset(188)] internal byte isPackExpansion; + + [FieldOffset(189)] internal byte isExpandedParameterPack; + + [FieldOffset(192)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24NonTypeTemplateParameterC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13234,7 +14877,7 @@ internal static NonTypeTemplateParameter __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13254,7 +14897,7 @@ protected NonTypeTemplateParameter(void* native, bool skipVTables = false) public NonTypeTemplateParameter() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13263,7 +14906,7 @@ public NonTypeTemplateParameter() public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13283,7 +14926,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13372,33 +15015,82 @@ public bool IsExpandedParameterPack public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 208)] + [StructLayout(LayoutKind.Explicit, Size = 208)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal __IntPtr TemplatedDecl; + + [FieldOffset(160)] internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Specializations; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13419,12 +15111,6 @@ public unsafe partial class ClassTemplate : global::CppSharp.Parser.AST.Template [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearSpecializations(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate18FindSpecializationERKSs", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindSpecialization(__IntPtr __instance, __IntPtr usr); - - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate25FindPartialSpecializationERKSs", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindPartialSpecialization(__IntPtr __instance, __IntPtr usr); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ClassTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSpecializationsCount(__IntPtr __instance); } @@ -13455,7 +15141,7 @@ internal static ClassTemplate __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13475,7 +15161,7 @@ protected ClassTemplate(void* native, bool skipVTables = false) public ClassTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13484,7 +15170,7 @@ public ClassTemplate() public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13504,7 +15190,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13529,28 +15215,6 @@ public void ClearSpecializations() __Internal.ClearSpecializations(__Instance); } - public global::CppSharp.Parser.AST.ClassTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.ClassTemplateSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - - public global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindPartialSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - public uint SpecializationsCount { get @@ -13563,60 +15227,163 @@ public uint SpecializationsCount public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 584)] + [StructLayout(LayoutKind.Explicit, Size = 584)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(176)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(200)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(296)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(368)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] internal byte isAnonymous; + + [FieldOffset(424)] internal global::Std.Vector.__Internal Bases; + + [FieldOffset(448)] internal global::Std.Vector.__Internal Fields; + + [FieldOffset(472)] internal global::Std.Vector.__Internal Methods; + + [FieldOffset(496)] internal global::Std.Vector.__Internal Specifiers; + + [FieldOffset(520)] internal byte isPOD; + + [FieldOffset(521)] internal byte isAbstract; + + [FieldOffset(522)] internal byte isUnion; + + [FieldOffset(523)] internal byte isDynamic; + + [FieldOffset(524)] internal byte isPolymorphic; + + [FieldOffset(525)] internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(526)] internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(527)] internal byte hasNonTrivialDestructor; + + [FieldOffset(528)] internal byte isExternCContext; + + [FieldOffset(529)] internal byte isInjected; + + [FieldOffset(532)] internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(536)] internal __IntPtr layout; + + [FieldOffset(544)] internal __IntPtr templatedDecl; + + [FieldOffset(552)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(576)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27ClassTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13667,7 +15434,7 @@ internal static ClassTemplateSpecialization __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13687,7 +15454,7 @@ protected ClassTemplateSpecialization(void* native, bool skipVTables = false) public ClassTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13696,7 +15463,7 @@ public ClassTemplateSpecialization() public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13716,7 +15483,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13779,61 +15546,166 @@ public uint ArgumentsCount public unsafe partial class ClassTemplatePartialSpecialization : global::CppSharp.Parser.AST.ClassTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 608)] + [StructLayout(LayoutKind.Explicit, Size = 608)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(176)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(200)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(296)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(368)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] internal byte isAnonymous; + + [FieldOffset(424)] internal global::Std.Vector.__Internal Bases; + + [FieldOffset(448)] internal global::Std.Vector.__Internal Fields; + + [FieldOffset(472)] internal global::Std.Vector.__Internal Methods; + + [FieldOffset(496)] internal global::Std.Vector.__Internal Specifiers; + + [FieldOffset(520)] internal byte isPOD; + + [FieldOffset(521)] internal byte isAbstract; + + [FieldOffset(522)] internal byte isUnion; + + [FieldOffset(523)] internal byte isDynamic; + + [FieldOffset(524)] internal byte isPolymorphic; + + [FieldOffset(525)] internal byte hasNonTrivialDefaultConstructor; + + [FieldOffset(526)] internal byte hasNonTrivialCopyConstructor; + + [FieldOffset(527)] internal byte hasNonTrivialDestructor; + + [FieldOffset(528)] internal byte isExternCContext; + + [FieldOffset(529)] internal byte isInjected; + + [FieldOffset(532)] internal global::CppSharp.Parser.AST.TagKind tagKind; + + [FieldOffset(536)] internal __IntPtr layout; + + [FieldOffset(544)] internal __IntPtr templatedDecl; + + [FieldOffset(552)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(576)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + + [FieldOffset(584)] internal global::Std.Vector.__Internal Parameters; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST34ClassTemplatePartialSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -13884,7 +15756,7 @@ internal static ClassTemplatePartialSpecialization __CreateInstance(__Internal n private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -13904,7 +15776,7 @@ protected ClassTemplatePartialSpecialization(void* native, bool skipVTables = fa public ClassTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -13913,7 +15785,7 @@ public ClassTemplatePartialSpecialization() public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -13933,7 +15805,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -13970,33 +15842,82 @@ public uint ParametersCount public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 208)] + [StructLayout(LayoutKind.Explicit, Size = 208)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal __IntPtr TemplatedDecl; + + [FieldOffset(160)] internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Specializations; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14017,9 +15938,6 @@ public unsafe partial class FunctionTemplate : global::CppSharp.Parser.AST.Templ [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearSpecializations(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate18FindSpecializationERKSs", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindSpecialization(__IntPtr __instance, __IntPtr usr); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16FunctionTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSpecializationsCount(__IntPtr __instance); } @@ -14050,7 +15968,7 @@ internal static FunctionTemplate __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FunctionTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14070,7 +15988,7 @@ protected FunctionTemplate(void* native, bool skipVTables = false) public FunctionTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14079,7 +15997,7 @@ public FunctionTemplate() public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14099,7 +16017,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14124,17 +16042,6 @@ public void ClearSpecializations() __Internal.ClearSpecializations(__Instance); } - public global::CppSharp.Parser.AST.FunctionTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - public uint SpecializationsCount { get @@ -14147,12 +16054,19 @@ public uint SpecializationsCount public unsafe partial class FunctionTemplateSpecialization : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public partial struct __Internal { + [FieldOffset(0)] internal __IntPtr _template; + + [FieldOffset(8)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(32)] internal __IntPtr specializedFunction; + + [FieldOffset(40)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST30FunctionTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14221,7 +16135,7 @@ internal static FunctionTemplateSpecialization __CreateInstance(__Internal nativ private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14242,7 +16156,7 @@ protected FunctionTemplateSpecialization(void* native, bool skipVTables = false) public FunctionTemplateSpecialization() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14250,7 +16164,7 @@ public FunctionTemplateSpecialization() public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14275,7 +16189,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14352,33 +16266,82 @@ public uint ArgumentsCount public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 208)] + [StructLayout(LayoutKind.Explicit, Size = 208)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal __IntPtr TemplatedDecl; + + [FieldOffset(160)] internal global::Std.Vector.__Internal Parameters; + + [FieldOffset(184)] internal global::Std.Vector.__Internal Specializations; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14399,12 +16362,6 @@ public unsafe partial class VarTemplate : global::CppSharp.Parser.AST.Template, [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate20clearSpecializationsEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearSpecializations(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate18FindSpecializationERKSs", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindSpecialization(__IntPtr __instance, __IntPtr usr); - - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate25FindPartialSpecializationERKSs", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindPartialSpecialization(__IntPtr __instance, __IntPtr usr); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11VarTemplate23getSpecializationsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSpecializationsCount(__IntPtr __instance); } @@ -14435,7 +16392,7 @@ internal static VarTemplate __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VarTemplate.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14455,7 +16412,7 @@ protected VarTemplate(void* native, bool skipVTables = false) public VarTemplate() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14464,7 +16421,7 @@ public VarTemplate() public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14484,7 +16441,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14509,28 +16466,6 @@ public void ClearSpecializations() __Internal.ClearSpecializations(__Instance); } - public global::CppSharp.Parser.AST.VarTemplateSpecialization FindSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.VarTemplateSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - - public global::CppSharp.Parser.AST.VarTemplatePartialSpecialization FindPartialSpecialization(string usr) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, usr); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindPartialSpecialization(__Instance, __arg0); - __basicString0.Dispose(); - var __result0 = global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__GetOrCreateInstance(___ret, false); - return __result0; - } - public uint SpecializationsCount { get @@ -14543,37 +16478,94 @@ public uint SpecializationsCount public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal byte isConstExpr; - internal global::Std.BasicString.__Internal mangled; + + [FieldOffset(160)] + internal global::Std.BasicString.__Internal Mangled; + + [FieldOffset(168)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(184)] internal __IntPtr initializer; + + [FieldOffset(192)] internal __IntPtr templatedDecl; + + [FieldOffset(200)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(224)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25VarTemplateSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14624,7 +16616,7 @@ internal static VarTemplateSpecialization __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14644,7 +16636,7 @@ protected VarTemplateSpecialization(void* native, bool skipVTables = false) public VarTemplateSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14653,7 +16645,7 @@ public VarTemplateSpecialization() public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14673,7 +16665,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -14736,37 +16728,94 @@ public uint ArgumentsCount public unsafe partial class VarTemplatePartialSpecialization : global::CppSharp.Parser.AST.VarTemplateSpecialization, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 232)] + [StructLayout(LayoutKind.Explicit, Size = 232)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal byte isConstExpr; - internal global::Std.BasicString.__Internal mangled; + + [FieldOffset(160)] + internal global::Std.BasicString.__Internal Mangled; + + [FieldOffset(168)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + + [FieldOffset(184)] internal __IntPtr initializer; + + [FieldOffset(192)] internal __IntPtr templatedDecl; + + [FieldOffset(200)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(224)] internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST32VarTemplatePartialSpecializationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14805,7 +16854,7 @@ internal static VarTemplatePartialSpecialization __CreateInstance(__Internal nat private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14825,7 +16874,7 @@ protected VarTemplatePartialSpecialization(void* native, bool skipVTables = fals public VarTemplatePartialSpecialization() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14834,7 +16883,7 @@ public VarTemplatePartialSpecialization() public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14854,37 +16903,80 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class UnresolvedUsingTypename : global::CppSharp.Parser.AST.Declaration, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23UnresolvedUsingTypenameC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -14923,7 +17015,7 @@ internal static UnresolvedUsingTypename __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -14943,7 +17035,7 @@ protected UnresolvedUsingTypename(void* native, bool skipVTables = false) public UnresolvedUsingTypename() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -14952,7 +17044,7 @@ public UnresolvedUsingTypename() public UnresolvedUsingTypename(global::CppSharp.Parser.AST.UnresolvedUsingTypename _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -14972,49 +17064,116 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class Namespace : global::CppSharp.Parser.AST.DeclarationContext, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 424)] + [StructLayout(LayoutKind.Explicit, Size = 424)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(176)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(200)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(296)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(368)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] internal byte isAnonymous; + + [FieldOffset(417)] internal byte isInline; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9NamespaceC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15053,7 +17212,7 @@ internal static Namespace __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.Namespace.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15073,7 +17232,7 @@ protected Namespace(void* native, bool skipVTables = false) public Namespace() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Namespace.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15082,7 +17241,7 @@ public Namespace() public Namespace(global::CppSharp.Parser.AST.Namespace _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Namespace.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15102,7 +17261,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -15122,11 +17281,16 @@ public bool IsInline public unsafe partial class PreprocessedEntity : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] internal __IntPtr originalPtr; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.DeclarationKind kind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18PreprocessedEntityC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15180,7 +17344,7 @@ internal static PreprocessedEntity __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -15201,7 +17365,7 @@ protected PreprocessedEntity(void* native, bool skipVTables = false) public PreprocessedEntity() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15209,7 +17373,7 @@ public PreprocessedEntity() public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PreprocessedEntity.__Internal*) _0.__Instance); @@ -15229,7 +17393,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -15275,15 +17439,28 @@ public __IntPtr OriginalPtr public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] internal __IntPtr originalPtr; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.DeclarationKind kind; - internal global::Std.BasicString.__Internal name; - internal global::Std.BasicString.__Internal expression; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internal Expression; + + [FieldOffset(40)] internal int lineNumberStart; + + [FieldOffset(44)] internal int lineNumberEnd; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinitionC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15294,6 +17471,18 @@ public unsafe partial class MacroDefinition : global::CppSharp.Parser.AST.Prepro [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinitionD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition13getExpressionEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetExpression(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15MacroDefinition13setExpressionEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetExpression(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new MacroDefinition __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -15322,7 +17511,7 @@ internal static MacroDefinition __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MacroDefinition.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15342,7 +17531,7 @@ protected MacroDefinition(void* native, bool skipVTables = false) public MacroDefinition() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15351,7 +17540,7 @@ public MacroDefinition() public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15371,75 +17560,86 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string Name + public int LineNumberStart { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->lineNumberStart; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + ((__Internal*)__Instance)->lineNumberStart = value; } } - public string Expression + public int LineNumberEnd { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->expression)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->lineNumberEnd; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->expression), value); + ((__Internal*)__Instance)->lineNumberEnd = value; } } - public int LineNumberStart + public string Name { get { - return ((__Internal*)__Instance)->lineNumberStart; + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->lineNumberStart = value; + __Internal.SetName(__Instance, value); } } - public int LineNumberEnd + public string Expression { get { - return ((__Internal*)__Instance)->lineNumberEnd; + var ___ret = __Internal.GetExpression(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->lineNumberEnd = value; + __Internal.SetExpression(__Instance, value); } } } public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + + [FieldOffset(8)] internal __IntPtr originalPtr; + + [FieldOffset(16)] internal global::CppSharp.Parser.AST.DeclarationKind kind; - internal global::Std.BasicString.__Internal name; - internal global::Std.BasicString.__Internal text; + + [FieldOffset(24)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(32)] + internal global::Std.BasicString.__Internal Text; + + [FieldOffset(40)] internal __IntPtr definition; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansionC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15450,6 +17650,18 @@ public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.Preproc [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansionD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7getNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7setNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7getTextEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetText(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14MacroExpansion7setTextEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetText(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new MacroExpansion __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -15478,7 +17690,7 @@ internal static MacroExpansion __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MacroExpansion.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15498,7 +17710,7 @@ protected MacroExpansion(void* native, bool skipVTables = false) public MacroExpansion() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15507,7 +17719,7 @@ public MacroExpansion() public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15527,94 +17739,167 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string Name + public global::CppSharp.Parser.AST.MacroDefinition Definition { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var __result0 = global::CppSharp.Parser.AST.MacroDefinition.__GetOrCreateInstance(((__Internal*)__Instance)->definition, false); + return __result0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + ((__Internal*)__Instance)->definition = value is null ? __IntPtr.Zero : value.__Instance; } } - public string Text + public string Name { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + __Internal.SetName(__Instance, value); } } - public global::CppSharp.Parser.AST.MacroDefinition Definition + public string Text { get { - var __result0 = global::CppSharp.Parser.AST.MacroDefinition.__GetOrCreateInstance(((__Internal*)__Instance)->definition, false); - return __result0; + var ___ret = __Internal.GetText(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->definition = value is null ? __IntPtr.Zero : value.__Instance; + __Internal.SetText(__Instance, value); } } } public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 464)] + [StructLayout(LayoutKind.Explicit, Size = 464)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.DeclarationKind kind; + + [FieldOffset(4)] internal int alignAs; + + [FieldOffset(8)] internal int maxFieldAlignment; + + [FieldOffset(12)] internal global::CppSharp.Parser.AST.AccessSpecifier access; + + [FieldOffset(16)] internal __IntPtr _namespace; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(28)] internal int lineNumberStart; + + [FieldOffset(32)] internal int lineNumberEnd; - internal global::Std.BasicString.__Internal name; + + [FieldOffset(40)] + internal global::Std.BasicString.__Internal Name; + + [FieldOffset(48)] internal global::Std.BasicString.__Internal USR; - internal global::Std.BasicString.__Internal debugText; + + [FieldOffset(56)] + internal global::Std.BasicString.__Internal DebugText; + + [FieldOffset(64)] internal byte isIncomplete; + + [FieldOffset(65)] internal byte isDependent; + + [FieldOffset(66)] internal byte isImplicit; + + [FieldOffset(67)] internal byte isInvalid; + + [FieldOffset(68)] internal byte isDeprecated; + + [FieldOffset(72)] internal __IntPtr completeDeclaration; + + [FieldOffset(80)] internal uint definitionOrder; + + [FieldOffset(88)] internal global::Std.Vector.__Internal PreprocessedEntities; + + [FieldOffset(112)] internal global::Std.Vector.__Internal Redeclarations; + + [FieldOffset(136)] internal __IntPtr originalPtr; + + [FieldOffset(144)] internal __IntPtr comment; + + [FieldOffset(152)] internal global::Std.Vector.__Internal Namespaces; + + [FieldOffset(176)] internal global::Std.Vector.__Internal Enums; + + [FieldOffset(200)] internal global::Std.Vector.__Internal Functions; + + [FieldOffset(224)] internal global::Std.Vector.__Internal Classes; + + [FieldOffset(248)] internal global::Std.Vector.__Internal Templates; + + [FieldOffset(272)] internal global::Std.Vector.__Internal Typedefs; + + [FieldOffset(296)] internal global::Std.Vector.__Internal TypeAliases; + + [FieldOffset(320)] internal global::Std.Vector.__Internal Variables; + + [FieldOffset(344)] internal global::Std.Vector.__Internal Friends; + + [FieldOffset(368)] internal global::Std.Map.__Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ anonymous; + + [FieldOffset(416)] internal byte isAnonymous; + + [FieldOffset(417)] internal byte isInline; - internal global::Std.BasicString.__Internal fileName; + + [FieldOffset(424)] + internal global::Std.BasicString.__Internal FileName; + + [FieldOffset(432)] internal byte isSystemHeader; + + [FieldOffset(440)] internal global::Std.Vector.__Internal Macros; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnitC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15635,6 +17920,12 @@ public unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namesp [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11clearMacrosEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ClearMacros(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11getFileNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFileName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit11setFileNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetFileName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15TranslationUnit14getMacrosCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetMacrosCount(__IntPtr __instance); } @@ -15665,7 +17956,7 @@ internal static TranslationUnit __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.TranslationUnit.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15685,7 +17976,7 @@ protected TranslationUnit(void* native, bool skipVTables = false) public TranslationUnit() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15694,7 +17985,7 @@ public TranslationUnit() public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15714,7 +18005,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -15739,30 +18030,30 @@ public void ClearMacros() __Internal.ClearMacros(__Instance); } - public string FileName + public bool IsSystemHeader { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isSystemHeader != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + ((__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); } } - public bool IsSystemHeader + public string FileName { get { - return ((__Internal*)__Instance)->isSystemHeader != 0; + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); + __Internal.SetFileName(__Instance, value); } } @@ -15778,9 +18069,10 @@ public uint MacrosCount public unsafe partial class ASTContext : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internal TranslationUnits; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContextC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -15792,9 +18084,6 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContextD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContext18FindOrCreateModuleESs", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr FindOrCreateModule(__IntPtr __instance, __IntPtr File); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ASTContext19getTranslationUnitsEj", CallingConvention = __CallingConvention.Cdecl)] internal static extern __IntPtr GetTranslationUnits(__IntPtr __instance, uint i); @@ -15852,7 +18141,7 @@ internal static ASTContext __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.ASTContext.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -15873,7 +18162,7 @@ protected ASTContext(void* native, bool skipVTables = false) public ASTContext() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -15881,7 +18170,7 @@ public ASTContext() public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -15906,21 +18195,10 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public global::CppSharp.Parser.AST.TranslationUnit FindOrCreateModule(string File) - { - var __basicString0 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString0, File); - var __arg0 = __basicString0.__Instance; - var ___ret = __Internal.FindOrCreateModule(__Instance, __arg0); - __basicString0.Dispose(disposing: true, callNativeDtor:false); - var __result0 = global::CppSharp.Parser.AST.TranslationUnit.__GetOrCreateInstance(___ret, false); - return __result0; - } - public global::CppSharp.Parser.AST.TranslationUnit GetTranslationUnits(uint i) { var ___ret = __Internal.GetTranslationUnits(__Instance, i); @@ -16093,12 +18371,19 @@ public enum StmtClass public unsafe partial class Stmt : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 20)] + [StructLayout(LayoutKind.Explicit, Size = 20)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4StmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16155,7 +18440,7 @@ internal static Stmt __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16176,7 +18461,7 @@ protected Stmt(void* native, bool skipVTables = false) public Stmt() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16184,7 +18469,7 @@ public Stmt() public Stmt(global::CppSharp.Parser.AST.StmtClass klass) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -16192,7 +18477,7 @@ public Stmt(global::CppSharp.Parser.AST.StmtClass klass) public Stmt(global::CppSharp.Parser.AST.Stmt _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Stmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Stmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Stmt.__Internal*) _0.__Instance); @@ -16212,7 +18497,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -16278,15 +18563,28 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class DeclStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internal decls; + + [FieldOffset(48)] internal byte isSingleDecl; + + [FieldOffset(56)] internal __IntPtr singleDecl; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8DeclStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16337,7 +18635,7 @@ internal static DeclStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.DeclStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -16357,7 +18655,7 @@ protected DeclStmt(void* native, bool skipVTables = false) public DeclStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16366,7 +18664,7 @@ public DeclStmt() public DeclStmt(global::CppSharp.Parser.AST.DeclStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -16386,7 +18684,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -16450,14 +18748,25 @@ public uint GetdeclsCount public unsafe partial class NullStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal semiLoc; + + [FieldOffset(24)] internal byte hasLeadingEmptyMacro; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8NullStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16493,7 +18802,7 @@ internal static NullStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16513,7 +18822,7 @@ protected NullStmt(void* native, bool skipVTables = false) public NullStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16522,7 +18831,7 @@ public NullStmt() public NullStmt(global::CppSharp.Parser.AST.NullStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.NullStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NullStmt.__Internal*) _0.__Instance); @@ -16557,19 +18866,40 @@ public bool HasLeadingEmptyMacro public unsafe partial class CompoundStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internal body; + + [FieldOffset(48)] internal byte body_empty; + + [FieldOffset(52)] internal uint size; + + [FieldOffset(56)] internal __IntPtr body_front; + + [FieldOffset(64)] internal __IntPtr body_back; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal lBracLoc; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CompoundStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16620,7 +18950,7 @@ internal static CompoundStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CompoundStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -16640,7 +18970,7 @@ protected CompoundStmt(void* native, bool skipVTables = false) public CompoundStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16649,7 +18979,7 @@ public CompoundStmt() public CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -16669,7 +18999,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -16786,15 +19116,28 @@ public uint GetbodyCount public unsafe partial class SwitchCase : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(32)] internal __IntPtr subStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SwitchCaseC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16833,7 +19176,7 @@ internal static SwitchCase __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16853,7 +19196,7 @@ protected SwitchCase(void* native, bool skipVTables = false) public SwitchCase() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -16862,7 +19205,7 @@ public SwitchCase() public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -16871,7 +19214,7 @@ public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SwitchCase.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SwitchCase.__Internal*) _0.__Instance); @@ -16925,20 +19268,43 @@ public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) public unsafe partial class CaseStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(32)] internal __IntPtr subStmt; + + [FieldOffset(40)] internal global::CppSharp.Parser.SourceLocation.__Internal caseLoc; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(48)] internal __IntPtr lHS; + + [FieldOffset(56)] internal __IntPtr rHS; + + [FieldOffset(64)] internal byte caseStmtIsGNURange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CaseStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -16974,7 +19340,7 @@ internal static CaseStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -16994,7 +19360,7 @@ protected CaseStmt(void* native, bool skipVTables = false) public CaseStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17003,7 +19369,7 @@ public CaseStmt() public CaseStmt(global::CppSharp.Parser.AST.CaseStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CaseStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CaseStmt.__Internal*) _0.__Instance); @@ -17079,16 +19445,31 @@ public bool CaseStmtIsGNURange public unsafe partial class DefaultStmt : global::CppSharp.Parser.AST.SwitchCase, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(32)] internal __IntPtr subStmt; + + [FieldOffset(40)] internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DefaultStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17124,7 +19505,7 @@ internal static DefaultStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17144,7 +19525,7 @@ protected DefaultStmt(void* native, bool skipVTables = false) public DefaultStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17153,7 +19534,7 @@ public DefaultStmt() public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DefaultStmt.__Internal*) _0.__Instance); @@ -17175,15 +19556,28 @@ public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) public unsafe partial class LabelStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal identLoc; + + [FieldOffset(24)] internal __IntPtr subStmt; + + [FieldOffset(32)] internal __IntPtr name; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9LabelStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17220,7 +19614,7 @@ internal static LabelStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17240,7 +19634,7 @@ protected LabelStmt(void* native, bool skipVTables = false) public LabelStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17249,7 +19643,7 @@ public LabelStmt() public LabelStmt(global::CppSharp.Parser.AST.LabelStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.LabelStmt.__Internal*) _0.__Instance); @@ -17312,14 +19706,25 @@ public string Name public unsafe partial class AttributedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal attrLoc; + + [FieldOffset(24)] internal __IntPtr subStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14AttributedStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17355,7 +19760,7 @@ internal static AttributedStmt __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17375,7 +19780,7 @@ protected AttributedStmt(void* native, bool skipVTables = false) public AttributedStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17384,7 +19789,7 @@ public AttributedStmt() public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AttributedStmt.__Internal*) _0.__Instance); @@ -17420,24 +19825,55 @@ public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) public unsafe partial class IfStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr cond; + + [FieldOffset(32)] internal __IntPtr then; + + [FieldOffset(40)] internal __IntPtr _else; + + [FieldOffset(48)] internal __IntPtr init; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal ifLoc; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal elseLoc; + + [FieldOffset(64)] internal byte _constexpr; + + [FieldOffset(65)] internal byte hasInitStorage; + + [FieldOffset(66)] internal byte hasVarStorage; + + [FieldOffset(67)] internal byte hasElseStorage; + + [FieldOffset(72)] internal __IntPtr conditionVariableDeclStmt; + + [FieldOffset(80)] internal byte isObjCAvailabilityCheck; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6IfStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17473,7 +19909,7 @@ internal static IfStmt __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17493,7 +19929,7 @@ protected IfStmt(void* native, bool skipVTables = false) public IfStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17502,7 +19938,7 @@ public IfStmt() public IfStmt(global::CppSharp.Parser.AST.IfStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.IfStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IfStmt.__Internal*) _0.__Instance); @@ -17672,20 +20108,43 @@ public bool IsObjCAvailabilityCheck public unsafe partial class SwitchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr cond; + + [FieldOffset(32)] internal __IntPtr body; + + [FieldOffset(40)] internal __IntPtr init; + + [FieldOffset(48)] internal global::CppSharp.Parser.SourceLocation.__Internal switchLoc; + + [FieldOffset(52)] internal byte hasInitStorage; + + [FieldOffset(53)] internal byte hasVarStorage; + + [FieldOffset(56)] internal __IntPtr conditionVariableDeclStmt; + + [FieldOffset(64)] internal byte isAllEnumCasesCovered; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SwitchStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17721,7 +20180,7 @@ internal static SwitchStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17741,7 +20200,7 @@ protected SwitchStmt(void* native, bool skipVTables = false) public SwitchStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17750,7 +20209,7 @@ public SwitchStmt() public SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SwitchStmt.__Internal*) _0.__Instance); @@ -17867,17 +20326,34 @@ public bool IsAllEnumCasesCovered public unsafe partial class WhileStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr cond; + + [FieldOffset(32)] internal __IntPtr body; + + [FieldOffset(40)] internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(44)] internal byte hasVarStorage; + + [FieldOffset(48)] internal __IntPtr conditionVariableDeclStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9WhileStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -17913,7 +20389,7 @@ internal static WhileStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -17933,7 +20409,7 @@ protected WhileStmt(void* native, bool skipVTables = false) public WhileStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -17942,7 +20418,7 @@ public WhileStmt() public WhileStmt(global::CppSharp.Parser.AST.WhileStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.WhileStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.WhileStmt.__Internal*) _0.__Instance); @@ -18019,17 +20495,34 @@ public bool HasVarStorage public unsafe partial class DoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 56)] + [StructLayout(LayoutKind.Explicit, Size = 56)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr cond; + + [FieldOffset(32)] internal __IntPtr body; + + [FieldOffset(40)] internal global::CppSharp.Parser.SourceLocation.__Internal doLoc; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + + [FieldOffset(48)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST6DoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18065,7 +20558,7 @@ internal static DoStmt __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18085,7 +20578,7 @@ protected DoStmt(void* native, bool skipVTables = false) public DoStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18094,7 +20587,7 @@ public DoStmt() public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DoStmt.__Internal*) _0.__Instance); @@ -18170,20 +20663,43 @@ public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) public unsafe partial class ForStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr init; + + [FieldOffset(32)] internal __IntPtr cond; + + [FieldOffset(40)] internal __IntPtr inc; + + [FieldOffset(48)] internal __IntPtr body; + + [FieldOffset(56)] internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(60)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(64)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(72)] internal __IntPtr conditionVariableDeclStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7ForStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18219,7 +20735,7 @@ internal static ForStmt __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18239,7 +20755,7 @@ protected ForStmt(void* native, bool skipVTables = false) public ForStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18248,7 +20764,7 @@ public ForStmt() public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ForStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ForStmt.__Internal*) _0.__Instance); @@ -18366,14 +20882,25 @@ public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) public unsafe partial class GotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 28)] + [StructLayout(LayoutKind.Explicit, Size = 28)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8GotoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18409,7 +20936,7 @@ internal static GotoStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18429,7 +20956,7 @@ protected GotoStmt(void* native, bool skipVTables = false) public GotoStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18438,7 +20965,7 @@ public GotoStmt() public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.GotoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GotoStmt.__Internal*) _0.__Instance); @@ -18473,15 +21000,28 @@ public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) public unsafe partial class IndirectGotoStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal starLoc; + + [FieldOffset(32)] internal __IntPtr target; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16IndirectGotoStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18517,7 +21057,7 @@ internal static IndirectGotoStmt __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18537,7 +21077,7 @@ protected IndirectGotoStmt(void* native, bool skipVTables = false) public IndirectGotoStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18546,7 +21086,7 @@ public IndirectGotoStmt() public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal*) _0.__Instance); @@ -18595,13 +21135,22 @@ public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) public unsafe partial class ContinueStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal continueLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12ContinueStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18637,7 +21186,7 @@ internal static ContinueStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18657,7 +21206,7 @@ protected ContinueStmt(void* native, bool skipVTables = false) public ContinueStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18666,7 +21215,7 @@ public ContinueStmt() public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ContinueStmt.__Internal*) _0.__Instance); @@ -18688,13 +21237,22 @@ public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) public unsafe partial class BreakStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal breakLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9BreakStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18730,7 +21288,7 @@ internal static BreakStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18750,7 +21308,7 @@ protected BreakStmt(void* native, bool skipVTables = false) public BreakStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18759,7 +21317,7 @@ public BreakStmt() public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BreakStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BreakStmt.__Internal*) _0.__Instance); @@ -18781,14 +21339,25 @@ public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) public unsafe partial class ReturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr retValue; + + [FieldOffset(32)] internal global::CppSharp.Parser.SourceLocation.__Internal returnLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ReturnStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18824,7 +21393,7 @@ internal static ReturnStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -18844,7 +21413,7 @@ protected ReturnStmt(void* native, bool skipVTables = false) public ReturnStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18853,7 +21422,7 @@ public ReturnStmt() public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ReturnStmt.__Internal*) _0.__Instance); @@ -18889,21 +21458,46 @@ public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) public unsafe partial class AsmStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internal inputs; + + [FieldOffset(48)] internal global::Std.Vector.__Internal outputs; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(76)] internal byte simple; + + [FieldOffset(77)] internal byte _volatile; + + [FieldOffset(80)] internal uint numOutputs; + + [FieldOffset(84)] internal uint numPlusOperands; + + [FieldOffset(88)] internal uint numInputs; + + [FieldOffset(92)] internal uint numClobbers; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST7AsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -18969,7 +21563,7 @@ internal static AsmStmt __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.AsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -18989,7 +21583,7 @@ protected AsmStmt(void* native, bool skipVTables = false) public AsmStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -18998,7 +21592,7 @@ public AsmStmt() public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -19007,7 +21601,7 @@ public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) public AsmStmt(global::CppSharp.Parser.AST.AsmStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19027,7 +21621,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19190,22 +21784,49 @@ public uint GetoutputsCount public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internal inputs; + + [FieldOffset(48)] internal global::Std.Vector.__Internal outputs; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(76)] internal byte simple; + + [FieldOffset(77)] internal byte _volatile; + + [FieldOffset(80)] internal uint numOutputs; + + [FieldOffset(84)] internal uint numPlusOperands; + + [FieldOffset(88)] internal uint numInputs; + + [FieldOffset(92)] internal uint numClobbers; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19220,13 +21841,22 @@ public unsafe partial class GCCAsmStmt : global::CppSharp.Parser.AST.AsmStmt, ID public unsafe partial class AsmStringPiece : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public partial struct __Internal { + [FieldOffset(0)] internal byte isString; + + [FieldOffset(1)] internal byte isOperand; - internal global::Std.BasicString.__Internal @string; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internal String; + + [FieldOffset(16)] internal uint operandNo; + + [FieldOffset(20)] internal sbyte modifier; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19237,6 +21867,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPieceD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPiece9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10GCCAsmStmt14AsmStringPiece9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public enum Kind @@ -19289,7 +21925,7 @@ internal static AsmStringPiece __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -19310,7 +21946,7 @@ protected AsmStringPiece(void* native, bool skipVTables = false) public AsmStringPiece() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19318,7 +21954,7 @@ public AsmStringPiece() public AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19343,7 +21979,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19373,43 +22009,43 @@ public bool IsOperand } } - public string String + public uint OperandNo { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->@string)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->operandNo; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->@string), value); + ((__Internal*)__Instance)->operandNo = value; } } - public uint OperandNo + public sbyte Modifier { get { - return ((__Internal*)__Instance)->operandNo; + return ((__Internal*)__Instance)->modifier; } set { - ((__Internal*)__Instance)->operandNo = value; + ((__Internal*)__Instance)->modifier = value; } } - public sbyte Modifier + public string String { get { - return ((__Internal*)__Instance)->modifier; + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->modifier = value; + __Internal.SetString(__Instance, value); } } } @@ -19440,7 +22076,7 @@ internal static GCCAsmStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.GCCAsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -19460,7 +22096,7 @@ protected GCCAsmStmt(void* native, bool skipVTables = false) public GCCAsmStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19469,7 +22105,7 @@ public GCCAsmStmt() public GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19489,7 +22125,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19509,26 +22145,59 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internal inputs; + + [FieldOffset(48)] internal global::Std.Vector.__Internal outputs; + + [FieldOffset(72)] internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + + [FieldOffset(76)] internal byte simple; + + [FieldOffset(77)] internal byte _volatile; + + [FieldOffset(80)] internal uint numOutputs; + + [FieldOffset(84)] internal uint numPlusOperands; + + [FieldOffset(88)] internal uint numInputs; + + [FieldOffset(92)] internal uint numClobbers; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(100)] internal byte hasBraces; + + [FieldOffset(104)] internal uint numAsmToks; - internal global::Std.BasicString.__Internal asmString; + + [FieldOffset(112)] + internal global::Std.BasicString.__Internal AsmString; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -19538,6 +22207,12 @@ public unsafe partial class MSAsmStmt : global::CppSharp.Parser.AST.AsmStmt, IDi [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmtD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmt12getAsmStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetAsmString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9MSAsmStmt12setAsmStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetAsmString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new MSAsmStmt __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -19566,7 +22241,7 @@ internal static MSAsmStmt __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.MSAsmStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -19586,7 +22261,7 @@ protected MSAsmStmt(void* native, bool skipVTables = false) public MSAsmStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19595,7 +22270,7 @@ public MSAsmStmt() public MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -19615,7 +22290,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -19662,28 +22337,41 @@ public string AsmString { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->asmString)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + var ___ret = __Internal.GetAsmString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->asmString), value); + __Internal.SetAsmString(__Instance, value); } } } public unsafe partial class SEHExceptStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal exceptLoc; + + [FieldOffset(24)] internal __IntPtr filterExpr; + + [FieldOffset(32)] internal __IntPtr block; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13SEHExceptStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19719,7 +22407,7 @@ internal static SEHExceptStmt __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -19739,7 +22427,7 @@ protected SEHExceptStmt(void* native, bool skipVTables = false) public SEHExceptStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19748,7 +22436,7 @@ public SEHExceptStmt() public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHExceptStmt.__Internal*) _0.__Instance); @@ -19798,14 +22486,25 @@ public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) public unsafe partial class SEHFinallyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal finallyLoc; + + [FieldOffset(24)] internal __IntPtr block; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14SEHFinallyStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19841,7 +22540,7 @@ internal static SEHFinallyStmt __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -19861,7 +22560,7 @@ protected SEHFinallyStmt(void* native, bool skipVTables = false) public SEHFinallyStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19870,7 +22569,7 @@ public SEHFinallyStmt() public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal*) _0.__Instance); @@ -19906,18 +22605,37 @@ public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) public unsafe partial class SEHTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(24)] internal byte isCXXTry; + + [FieldOffset(32)] internal __IntPtr tryBlock; + + [FieldOffset(40)] internal __IntPtr handler; + + [FieldOffset(48)] internal __IntPtr exceptHandler; + + [FieldOffset(56)] internal __IntPtr finallyHandler; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10SEHTryStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -19953,7 +22671,7 @@ internal static SEHTryStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -19973,7 +22691,7 @@ protected SEHTryStmt(void* native, bool skipVTables = false) public SEHTryStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -19982,7 +22700,7 @@ public SEHTryStmt() public SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHTryStmt.__Internal*) _0.__Instance); @@ -20073,13 +22791,22 @@ public bool IsCXXTry public unsafe partial class SEHLeaveStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal leaveLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12SEHLeaveStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20115,7 +22842,7 @@ internal static SEHLeaveStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20135,7 +22862,7 @@ protected SEHLeaveStmt(void* native, bool skipVTables = false) public SEHLeaveStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20144,7 +22871,7 @@ public SEHLeaveStmt() public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal*) _0.__Instance); @@ -20166,15 +22893,28 @@ public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) public unsafe partial class CapturedStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::Std.Vector.__Internal capture_inits; + + [FieldOffset(48)] internal __IntPtr capturedStmt; + + [FieldOffset(56)] internal uint capture_size; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20209,14 +22949,25 @@ public enum VariableCaptureKind public unsafe partial class Capture : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 12)] + [StructLayout(LayoutKind.Explicit, Size = 12)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind captureKind; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(8)] internal byte capturesThis; + + [FieldOffset(9)] internal byte capturesVariable; + + [FieldOffset(10)] internal byte capturesVariableByCopy; + + [FieldOffset(11)] internal byte capturesVariableArrayType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CapturedStmt7CaptureC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20270,7 +23021,7 @@ internal static Capture __CreateInstance(__Internal native, bool skipVTables = f private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20291,7 +23042,7 @@ protected Capture(void* native, bool skipVTables = false) public Capture() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20299,7 +23050,7 @@ public Capture() public Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal*) _0.__Instance); @@ -20319,7 +23070,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -20428,7 +23179,7 @@ internal static CapturedStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CapturedStmt.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -20448,7 +23199,7 @@ protected CapturedStmt(void* native, bool skipVTables = false) public CapturedStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20457,7 +23208,7 @@ public CapturedStmt() public CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -20477,7 +23228,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -20541,15 +23292,28 @@ public uint GetcaptureInitsCount public unsafe partial class CXXCatchStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal catchLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal caughtType; + + [FieldOffset(40)] internal __IntPtr handlerBlock; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CXXCatchStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20585,7 +23349,7 @@ internal static CXXCatchStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20605,7 +23369,7 @@ protected CXXCatchStmt(void* native, bool skipVTables = false) public CXXCatchStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20614,7 +23378,7 @@ public CXXCatchStmt() public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXCatchStmt.__Internal*) _0.__Instance); @@ -20665,15 +23429,28 @@ public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) public unsafe partial class CXXTryStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + + [FieldOffset(24)] internal __IntPtr tryBlock; + + [FieldOffset(32)] internal uint numHandlers; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXTryStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20709,7 +23486,7 @@ internal static CXXTryStmt __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20729,7 +23506,7 @@ protected CXXTryStmt(void* native, bool skipVTables = false) public CXXTryStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20738,7 +23515,7 @@ public CXXTryStmt() public CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXTryStmt.__Internal*) _0.__Instance); @@ -20787,25 +23564,58 @@ public uint NumHandlers public unsafe partial class CXXForRangeStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal __IntPtr init; + + [FieldOffset(32)] internal __IntPtr rangeInit; + + [FieldOffset(40)] internal __IntPtr cond; + + [FieldOffset(48)] internal __IntPtr inc; + + [FieldOffset(56)] internal __IntPtr body; + + [FieldOffset(64)] internal __IntPtr rangeStmt; + + [FieldOffset(72)] internal __IntPtr beginStmt; + + [FieldOffset(80)] internal __IntPtr endStmt; + + [FieldOffset(88)] internal __IntPtr loopVarStmt; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal coawaitLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15CXXForRangeStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -20841,7 +23651,7 @@ internal static CXXForRangeStmt __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -20861,7 +23671,7 @@ protected CXXForRangeStmt(void* native, bool skipVTables = false) public CXXForRangeStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -20870,7 +23680,7 @@ public CXXForRangeStmt() public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal*) _0.__Instance); @@ -21057,16 +23867,31 @@ public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) public unsafe partial class MSDependentExistsStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 40)] + [StructLayout(LayoutKind.Explicit, Size = 40)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(24)] internal byte isIfExists; + + [FieldOffset(25)] internal byte isIfNotExists; + + [FieldOffset(32)] internal __IntPtr subStmt; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21MSDependentExistsStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21102,7 +23927,7 @@ internal static MSDependentExistsStmt __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21122,7 +23947,7 @@ protected MSDependentExistsStmt(void* native, bool skipVTables = false) public MSDependentExistsStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21131,7 +23956,7 @@ public MSDependentExistsStmt() public MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal*) _0.__Instance); @@ -21193,25 +24018,58 @@ public bool IsIfNotExists public unsafe partial class CoroutineBodyStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal byte hasDependentPromiseType; + + [FieldOffset(24)] internal __IntPtr body; + + [FieldOffset(32)] internal __IntPtr promiseDeclStmt; + + [FieldOffset(40)] internal __IntPtr initSuspendStmt; + + [FieldOffset(48)] internal __IntPtr finalSuspendStmt; + + [FieldOffset(56)] internal __IntPtr exceptionHandler; + + [FieldOffset(64)] internal __IntPtr fallthroughHandler; + + [FieldOffset(72)] internal __IntPtr allocate; + + [FieldOffset(80)] internal __IntPtr deallocate; + + [FieldOffset(88)] internal __IntPtr returnValueInit; + + [FieldOffset(96)] internal __IntPtr resultDecl; + + [FieldOffset(104)] internal __IntPtr returnStmt; + + [FieldOffset(112)] internal __IntPtr returnStmtOnAllocFailure; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CoroutineBodyStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21240,7 +24098,7 @@ public enum SubStmt public unsafe partial class CtorArgs : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CoroutineBodyStmt8CtorArgsC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21294,7 +24152,7 @@ internal static CtorArgs __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21315,7 +24173,7 @@ protected CtorArgs(void* native, bool skipVTables = false) public CtorArgs() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21323,7 +24181,7 @@ public CtorArgs() public CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal*) _0.__Instance); @@ -21343,7 +24201,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -21374,7 +24232,7 @@ internal static CoroutineBodyStmt __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21394,7 +24252,7 @@ protected CoroutineBodyStmt(void* native, bool skipVTables = false) public CoroutineBodyStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21403,7 +24261,7 @@ public CoroutineBodyStmt() public CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal*) _0.__Instance); @@ -21593,16 +24451,31 @@ public bool HasDependentPromiseType public unsafe partial class CoreturnStmt : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(20)] internal byte isImplicit; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(32)] internal __IntPtr operand; + + [FieldOffset(40)] internal __IntPtr promiseCall; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CoreturnStmtC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -21645,7 +24518,7 @@ internal static CoreturnStmt __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -21665,7 +24538,7 @@ protected CoreturnStmt(void* native, bool skipVTables = false) public CoreturnStmt() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -21674,7 +24547,7 @@ public CoreturnStmt() public CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoreturnStmt.__Internal*) _0.__Instance); @@ -21930,26 +24803,61 @@ public enum UnaryExprOrTypeTrait public unsafe partial class Expr : global::CppSharp.Parser.AST.Stmt, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4ExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22028,16 +24936,31 @@ public enum NullPointerConstantValueDependence public unsafe partial class Classification : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 16)] + [StructLayout(LayoutKind.Explicit, Size = 16)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.Expr.Classification.Kinds kind; + + [FieldOffset(4)] internal global::CppSharp.Parser.AST.Expr.Classification.ModifiableType modifiable; + + [FieldOffset(8)] internal byte isLValue; + + [FieldOffset(9)] internal byte isXValue; + + [FieldOffset(10)] internal byte isGLValue; + + [FieldOffset(11)] internal byte isPRValue; + + [FieldOffset(12)] internal byte isRValue; + + [FieldOffset(13)] internal byte isModifiable; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST4Expr14ClassificationC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22122,7 +25045,7 @@ internal static Classification __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22143,7 +25066,7 @@ protected Classification(void* native, bool skipVTables = false) public Classification() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22151,7 +25074,7 @@ public Classification() public Classification(global::CppSharp.Parser.AST.Expr.Classification _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Expr.Classification.__Internal*) _0.__Instance); @@ -22171,7 +25094,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -22306,7 +25229,7 @@ internal static Expr __CreateInstance(__Internal native, bool skipVTables = fals private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22326,7 +25249,7 @@ protected Expr(void* native, bool skipVTables = false) public Expr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22335,7 +25258,7 @@ public Expr() public Expr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -22344,7 +25267,7 @@ public Expr(global::CppSharp.Parser.AST.StmtClass klass) public Expr(global::CppSharp.Parser.AST.Expr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.Expr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.Expr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.Expr.__Internal*) _0.__Instance); @@ -22544,27 +25467,64 @@ public bool HasPlaceholderType public unsafe partial class FullExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8FullExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22603,7 +25563,7 @@ internal static FullExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22623,7 +25583,7 @@ protected FullExpr(void* native, bool skipVTables = false) public FullExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22632,7 +25592,7 @@ public FullExpr() public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -22641,7 +25601,7 @@ public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FullExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FullExpr.__Internal*) _0.__Instance); @@ -22669,27 +25629,64 @@ public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) public unsafe partial class ConstantExpr : global::CppSharp.Parser.AST.FullExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12ConstantExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22725,7 +25722,7 @@ internal static ConstantExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22745,7 +25742,7 @@ protected ConstantExpr(void* native, bool skipVTables = false) public ConstantExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22754,7 +25751,7 @@ public ConstantExpr() public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConstantExpr.__Internal*) _0.__Instance); @@ -22763,29 +25760,70 @@ public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) public unsafe partial class OpaqueValueExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isUnique; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal __IntPtr sourceExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15OpaqueValueExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22821,7 +25859,7 @@ internal static OpaqueValueExpr __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22841,7 +25879,7 @@ protected OpaqueValueExpr(void* native, bool skipVTables = false) public OpaqueValueExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22850,7 +25888,7 @@ public OpaqueValueExpr() public OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal*) _0.__Instance); @@ -22899,38 +25937,97 @@ public bool IsUnique public unsafe partial class DeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal byte hadMultipleCandidates; + + [FieldOffset(81)] internal byte hasQualifier; + + [FieldOffset(88)] internal __IntPtr foundDecl; + + [FieldOffset(96)] internal byte hasTemplateKWAndArgsInfo; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(112)] internal byte hasTemplateKeyword; + + [FieldOffset(113)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(116)] internal uint numTemplateArgs; + + [FieldOffset(120)] internal byte refersToEnclosingVariableOrCapture; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11DeclRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -22966,7 +26063,7 @@ internal static DeclRefExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -22986,7 +26083,7 @@ protected DeclRefExpr(void* native, bool skipVTables = false) public DeclRefExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -22995,7 +26092,7 @@ public DeclRefExpr() public DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DeclRefExpr.__Internal*) _0.__Instance); @@ -23161,28 +26258,67 @@ public bool RefersToEnclosingVariableOrCapture public unsafe partial class IntegerLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal ulong value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14IntegerLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23218,7 +26354,7 @@ internal static IntegerLiteral __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23238,7 +26374,7 @@ protected IntegerLiteral(void* native, bool skipVTables = false) public IntegerLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23247,7 +26383,7 @@ public IntegerLiteral() public IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.IntegerLiteral.__Internal*) _0.__Instance); @@ -23282,28 +26418,67 @@ public ulong Value public unsafe partial class FixedPointLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal ulong value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17FixedPointLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23339,7 +26514,7 @@ internal static FixedPointLiteral __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23359,7 +26534,7 @@ protected FixedPointLiteral(void* native, bool skipVTables = false) public FixedPointLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23368,7 +26543,7 @@ public FixedPointLiteral() public FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FixedPointLiteral.__Internal*) _0.__Instance); @@ -23403,29 +26578,70 @@ public ulong Value public unsafe partial class CharacterLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind kind; + + [FieldOffset(84)] internal uint value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CharacterLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23470,7 +26686,7 @@ internal static CharacterLiteral __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23490,7 +26706,7 @@ protected CharacterLiteral(void* native, bool skipVTables = false) public CharacterLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23499,7 +26715,7 @@ public CharacterLiteral() public CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CharacterLiteral.__Internal*) _0.__Instance); @@ -23547,29 +26763,70 @@ public uint Value public unsafe partial class FloatingLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte exact; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal double valueAsApproximateDouble; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15FloatingLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23605,7 +26862,7 @@ internal static FloatingLiteral __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23625,7 +26882,7 @@ protected FloatingLiteral(void* native, bool skipVTables = false) public FloatingLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23634,7 +26891,7 @@ public FloatingLiteral() public FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FloatingLiteral.__Internal*) _0.__Instance); @@ -23682,27 +26939,64 @@ public double ValueAsApproximateDouble public unsafe partial class ImaginaryLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ImaginaryLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23738,7 +27032,7 @@ internal static ImaginaryLiteral __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -23758,7 +27052,7 @@ protected ImaginaryLiteral(void* native, bool skipVTables = false) public ImaginaryLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23767,7 +27061,7 @@ public ImaginaryLiteral() public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal*) _0.__Instance); @@ -23790,41 +27084,106 @@ public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; - internal global::Std.BasicString.__Internal @string; - internal global::Std.BasicString.__Internal bytes; + + [FieldOffset(80)] + internal global::Std.BasicString.__Internal String; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internal Bytes; + + [FieldOffset(96)] internal uint byteLength; + + [FieldOffset(100)] internal uint length; + + [FieldOffset(104)] internal uint charByteWidth; + + [FieldOffset(108)] internal global::CppSharp.Parser.AST.StringLiteral.StringKind kind; + + [FieldOffset(112)] internal byte isAscii; + + [FieldOffset(113)] internal byte isWide; + + [FieldOffset(114)] internal byte isUTF8; + + [FieldOffset(115)] internal byte isUTF16; + + [FieldOffset(116)] internal byte isUTF32; + + [FieldOffset(117)] internal byte isPascal; + + [FieldOffset(118)] internal byte containsNonAscii; + + [FieldOffset(119)] internal byte containsNonAsciiOrNull; + + [FieldOffset(120)] internal uint numConcatenated; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -23835,6 +27194,18 @@ public unsafe partial class StringLiteral : global::CppSharp.Parser.AST.Expr, ID [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteralD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral9getStringEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetString(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral9setStringEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetString(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral8getBytesEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetBytes(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13StringLiteral8setBytesEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetBytes(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public enum StringKind @@ -23872,7 +27243,7 @@ internal static StringLiteral __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.StringLiteral.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -23892,7 +27263,7 @@ protected StringLiteral(void* native, bool skipVTables = false) public StringLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -23901,7 +27272,7 @@ public StringLiteral() public StringLiteral(global::CppSharp.Parser.AST.StringLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -23921,38 +27292,10 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string String - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->@string)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->@string), value); - } - } - - public string Bytes - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->bytes)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->bytes), value); - } - } - public uint ByteLength { get @@ -24121,32 +27464,99 @@ public uint NumConcatenated ((__Internal*)__Instance)->numConcatenated = value; } } + + public string String + { + get + { + var ___ret = __Internal.GetString(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetString(__Instance, value); + } + } + + public string Bytes + { + get + { + var ___ret = __Internal.GetBytes(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetBytes(__Instance, value); + } + } } public unsafe partial class PredefinedExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.PredefinedExpr.IdentKind identKind; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14PredefinedExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24194,7 +27604,7 @@ internal static PredefinedExpr __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24214,7 +27624,7 @@ protected PredefinedExpr(void* native, bool skipVTables = false) public PredefinedExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24223,7 +27633,7 @@ public PredefinedExpr() public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PredefinedExpr.__Internal*) _0.__Instance); @@ -24258,29 +27668,70 @@ public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) public unsafe partial class ParenExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lParen; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rParen; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9ParenExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24316,7 +27767,7 @@ internal static ParenExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24336,7 +27787,7 @@ protected ParenExpr(void* native, bool skipVTables = false) public ParenExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24345,7 +27796,7 @@ public ParenExpr() public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ParenExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenExpr.__Internal*) _0.__Instance); @@ -24394,37 +27845,94 @@ public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) public unsafe partial class UnaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.UnaryOperatorKind opcode; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(92)] internal byte canOverflow; + + [FieldOffset(93)] internal byte isPrefix; + + [FieldOffset(94)] internal byte isPostfix; + + [FieldOffset(95)] internal byte isIncrementOp; + + [FieldOffset(96)] internal byte isDecrementOp; + + [FieldOffset(97)] internal byte isIncrementDecrementOp; + + [FieldOffset(98)] internal byte isArithmeticOp; + + [FieldOffset(99)] internal byte isFPContractableWithinStatement; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13UnaryOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24460,7 +27968,7 @@ internal static UnaryOperator __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24480,7 +27988,7 @@ protected UnaryOperator(void* native, bool skipVTables = false) public UnaryOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24489,7 +27997,7 @@ public UnaryOperator() public UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnaryOperator.__Internal*) _0.__Instance); @@ -24642,30 +28150,73 @@ public bool IsFPContractableWithinStatement public unsafe partial class OffsetOfExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] internal uint numComponents; + + [FieldOffset(88)] internal uint numExpressions; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OffsetOfExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24701,7 +28252,7 @@ internal static OffsetOfExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24721,7 +28272,7 @@ protected OffsetOfExpr(void* native, bool skipVTables = false) public OffsetOfExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24730,7 +28281,7 @@ public OffsetOfExpr() public OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OffsetOfExpr.__Internal*) _0.__Instance); @@ -24791,33 +28342,82 @@ public uint NumExpressions public unsafe partial class UnaryExprOrTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.UnaryExprOrTypeTrait kind; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(88)] internal byte isArgumentType; + + [FieldOffset(96)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal argumentType; + + [FieldOffset(112)] internal __IntPtr argumentExpr; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeOfArgument; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24UnaryExprOrTypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -24853,7 +28453,7 @@ internal static UnaryExprOrTypeTraitExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -24873,7 +28473,7 @@ protected UnaryExprOrTypeTraitExpr(void* native, bool skipVTables = false) public UnaryExprOrTypeTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -24882,7 +28482,7 @@ public UnaryExprOrTypeTraitExpr() public UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal*) _0.__Instance); @@ -24987,31 +28587,76 @@ public bool IsArgumentType public unsafe partial class ArraySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr lHS; + + [FieldOffset(88)] internal __IntPtr rHS; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(104)] internal __IntPtr @base; + + [FieldOffset(112)] internal __IntPtr idx; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArraySubscriptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25047,7 +28692,7 @@ internal static ArraySubscriptExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25067,7 +28712,7 @@ protected ArraySubscriptExpr(void* native, bool skipVTables = false) public ArraySubscriptExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25076,7 +28721,7 @@ public ArraySubscriptExpr() public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal*) _0.__Instance); @@ -25154,35 +28799,88 @@ public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) public unsafe partial class CallExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25236,7 +28934,7 @@ internal static CallExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -25256,7 +28954,7 @@ protected CallExpr(void* native, bool skipVTables = false) public CallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25265,7 +28963,7 @@ public CallExpr() public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -25274,7 +28972,7 @@ public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -25294,7 +28992,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -25443,39 +29141,100 @@ public uint GetargumentsCount public unsafe partial class MemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal byte arrow; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(96)] internal byte hadMultipleCandidates; + + [FieldOffset(97)] internal byte hasQualifier; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(112)] internal byte hasTemplateKeyword; + + [FieldOffset(113)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(116)] internal uint numTemplateArgs; + + [FieldOffset(120)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(124)] internal byte isImplicitAccess; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10MemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25511,7 +29270,7 @@ internal static MemberExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25531,7 +29290,7 @@ protected MemberExpr(void* native, bool skipVTables = false) public MemberExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25540,7 +29299,7 @@ public MemberExpr() public MemberExpr(global::CppSharp.Parser.AST.MemberExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MemberExpr.__Internal*) _0.__Instance); @@ -25719,29 +29478,70 @@ public bool IsImplicitAccess public unsafe partial class CompoundLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr initializer; + + [FieldOffset(88)] internal byte fileScope; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19CompoundLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25777,7 +29577,7 @@ internal static CompoundLiteralExpr __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25797,7 +29597,7 @@ protected CompoundLiteralExpr(void* native, bool skipVTables = false) public CompoundLiteralExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25806,7 +29606,7 @@ public CompoundLiteralExpr() public CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal*) _0.__Instance); @@ -25855,33 +29655,82 @@ public bool FileScope public unsafe partial class CastExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8CastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -25921,7 +29770,7 @@ internal static CastExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -25941,7 +29790,7 @@ protected CastExpr(void* native, bool skipVTables = false) public CastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -25950,7 +29799,7 @@ public CastExpr() public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -25959,7 +29808,7 @@ public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) public CastExpr(global::CppSharp.Parser.AST.CastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CastExpr.__Internal*) _0.__Instance); @@ -26081,34 +29930,85 @@ public uint PathSize public unsafe partial class ImplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal byte isPartOfExplicitCast; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ImplicitCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26149,7 +30049,7 @@ internal static ImplicitCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -26169,7 +30069,7 @@ protected ImplicitCastExpr(void* native, bool skipVTables = false) public ImplicitCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26178,7 +30078,7 @@ public ImplicitCastExpr() public ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal*) _0.__Instance); @@ -26200,34 +30100,85 @@ public bool IsPartOfExplicitCast public unsafe partial class ExplicitCastExpr : global::CppSharp.Parser.AST.CastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ExplicitCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26266,7 +30217,7 @@ internal static ExplicitCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -26286,7 +30237,7 @@ protected ExplicitCastExpr(void* native, bool skipVTables = false) public ExplicitCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26295,7 +30246,7 @@ public ExplicitCastExpr() public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -26304,7 +30255,7 @@ public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal*) _0.__Instance); @@ -26333,36 +30284,91 @@ public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) public unsafe partial class CStyleCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(140)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14CStyleCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26398,7 +30404,7 @@ internal static CStyleCastExpr __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -26418,7 +30424,7 @@ protected CStyleCastExpr(void* native, bool skipVTables = false) public CStyleCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26427,7 +30433,7 @@ public CStyleCastExpr() public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CStyleCastExpr.__Internal*) _0.__Instance); @@ -26462,45 +30468,118 @@ public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(88)] internal __IntPtr lHS; + + [FieldOffset(96)] internal __IntPtr rHS; - internal global::Std.BasicString.__Internal opcodeStr; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internal OpcodeStr; + + [FieldOffset(112)] internal byte isPtrMemOp; + + [FieldOffset(113)] internal byte isMultiplicativeOp; + + [FieldOffset(114)] internal byte isAdditiveOp; + + [FieldOffset(115)] internal byte isShiftOp; + + [FieldOffset(116)] internal byte isBitwiseOp; + + [FieldOffset(117)] internal byte isRelationalOp; + + [FieldOffset(118)] internal byte isEqualityOp; + + [FieldOffset(119)] internal byte isComparisonOp; + + [FieldOffset(120)] internal byte isLogicalOp; + + [FieldOffset(121)] internal byte isAssignmentOp; + + [FieldOffset(122)] internal byte isCompoundAssignmentOp; + + [FieldOffset(123)] internal byte isShiftAssignOp; + + [FieldOffset(124)] internal byte isFPContractableWithinStatement; + + [FieldOffset(125)] internal byte isFEnvAccessOn; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26514,6 +30593,12 @@ public unsafe partial class BinaryOperator : global::CppSharp.Parser.AST.Expr, I [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperatorD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperator12getOpcodeStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetOpcodeStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14BinaryOperator12setOpcodeStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetOpcodeStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new BinaryOperator __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -26542,7 +30627,7 @@ internal static BinaryOperator __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.BinaryOperator.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -26562,7 +30647,7 @@ protected BinaryOperator(void* native, bool skipVTables = false) public BinaryOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26571,7 +30656,7 @@ public BinaryOperator() public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -26580,7 +30665,7 @@ public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -26600,7 +30685,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -26663,20 +30748,6 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) } } - public string OpcodeStr - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->opcodeStr)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->opcodeStr), value); - } - } - public bool IsPtrMemOp { get @@ -26858,51 +30929,142 @@ public bool IsFEnvAccessOn ((__Internal*)__Instance)->isFEnvAccessOn = (byte) (value ? 1 : 0); } } + + public string OpcodeStr + { + get + { + var ___ret = __Internal.GetOpcodeStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetOpcodeStr(__Instance, value); + } + } } public unsafe partial class CompoundAssignOperator : global::CppSharp.Parser.AST.BinaryOperator, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + + [FieldOffset(88)] internal __IntPtr lHS; + + [FieldOffset(96)] internal __IntPtr rHS; - internal global::Std.BasicString.__Internal opcodeStr; + + [FieldOffset(104)] + internal global::Std.BasicString.__Internal OpcodeStr; + + [FieldOffset(112)] internal byte isPtrMemOp; + + [FieldOffset(113)] internal byte isMultiplicativeOp; + + [FieldOffset(114)] internal byte isAdditiveOp; + + [FieldOffset(115)] internal byte isShiftOp; + + [FieldOffset(116)] internal byte isBitwiseOp; + + [FieldOffset(117)] internal byte isRelationalOp; + + [FieldOffset(118)] internal byte isEqualityOp; + + [FieldOffset(119)] internal byte isComparisonOp; + + [FieldOffset(120)] internal byte isLogicalOp; + + [FieldOffset(121)] internal byte isAssignmentOp; + + [FieldOffset(122)] internal byte isCompoundAssignmentOp; + + [FieldOffset(123)] internal byte isShiftAssignOp; + + [FieldOffset(124)] internal byte isFPContractableWithinStatement; + + [FieldOffset(125)] internal byte isFEnvAccessOn; + + [FieldOffset(128)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationLHSType; + + [FieldOffset(144)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationResultType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CompoundAssignOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -26941,7 +31103,7 @@ internal static CompoundAssignOperator __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -26961,7 +31123,7 @@ protected CompoundAssignOperator(void* native, bool skipVTables = false) public CompoundAssignOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -26970,7 +31132,7 @@ public CompoundAssignOperator() public CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -26990,7 +31152,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -27027,31 +31189,76 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class AbstractConditionalOperator : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr cond; + + [FieldOffset(88)] internal __IntPtr trueExpr; + + [FieldOffset(96)] internal __IntPtr falseExpr; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27AbstractConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27090,7 +31297,7 @@ internal static AbstractConditionalOperator __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27110,7 +31317,7 @@ protected AbstractConditionalOperator(void* native, bool skipVTables = false) public AbstractConditionalOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27119,7 +31326,7 @@ public AbstractConditionalOperator() public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -27128,7 +31335,7 @@ public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal*) _0.__Instance); @@ -27210,33 +31417,82 @@ public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractCondition public unsafe partial class ConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr cond; + + [FieldOffset(88)] internal __IntPtr trueExpr; + + [FieldOffset(96)] internal __IntPtr falseExpr; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(112)] internal __IntPtr lHS; + + [FieldOffset(120)] internal __IntPtr rHS; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27272,7 +31528,7 @@ internal static ConditionalOperator __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27292,7 +31548,7 @@ protected ConditionalOperator(void* native, bool skipVTables = false) public ConditionalOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27301,7 +31557,7 @@ public ConditionalOperator() public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConditionalOperator.__Internal*) _0.__Instance); @@ -27338,33 +31594,82 @@ public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) public unsafe partial class BinaryConditionalOperator : global::CppSharp.Parser.AST.AbstractConditionalOperator, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr cond; + + [FieldOffset(88)] internal __IntPtr trueExpr; + + [FieldOffset(96)] internal __IntPtr falseExpr; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + + [FieldOffset(112)] internal __IntPtr common; + + [FieldOffset(120)] internal __IntPtr opaqueValue; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25BinaryConditionalOperatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27400,7 +31705,7 @@ internal static BinaryConditionalOperator __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27420,7 +31725,7 @@ protected BinaryConditionalOperator(void* native, bool skipVTables = false) public BinaryConditionalOperator() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27429,7 +31734,7 @@ public BinaryConditionalOperator() public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal*) _0.__Instance); @@ -27466,28 +31771,67 @@ public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOp public unsafe partial class AddrLabelExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal ampAmpLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal labelLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13AddrLabelExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27523,7 +31867,7 @@ internal static AddrLabelExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27543,7 +31887,7 @@ protected AddrLabelExpr(void* native, bool skipVTables = false) public AddrLabelExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27552,7 +31896,7 @@ public AddrLabelExpr() public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AddrLabelExpr.__Internal*) _0.__Instance); @@ -27587,29 +31931,70 @@ public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) public unsafe partial class StmtExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subStmt; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8StmtExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27645,7 +32030,7 @@ internal static StmtExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27665,7 +32050,7 @@ protected StmtExpr(void* native, bool skipVTables = false) public StmtExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27674,7 +32059,7 @@ public StmtExpr() public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.StmtExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.StmtExpr.__Internal*) _0.__Instance); @@ -27723,29 +32108,70 @@ public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) public unsafe partial class ShuffleVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(84)] internal uint numSubExprs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ShuffleVectorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27781,7 +32207,7 @@ internal static ShuffleVectorExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27801,7 +32227,7 @@ protected ShuffleVectorExpr(void* native, bool skipVTables = false) public ShuffleVectorExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27810,7 +32236,7 @@ public ShuffleVectorExpr() public ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal*) _0.__Instance); @@ -27858,29 +32284,70 @@ public uint NumSubExprs public unsafe partial class ConvertVectorExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr srcExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ConvertVectorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -27916,7 +32383,7 @@ internal static ConvertVectorExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -27936,7 +32403,7 @@ protected ConvertVectorExpr(void* native, bool skipVTables = false) public ConvertVectorExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -27945,7 +32412,7 @@ public ConvertVectorExpr() public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal*) _0.__Instance); @@ -27994,34 +32461,85 @@ public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) public unsafe partial class ChooseExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isConditionTrue; + + [FieldOffset(80)] internal __IntPtr cond; + + [FieldOffset(88)] internal __IntPtr lHS; + + [FieldOffset(96)] internal __IntPtr rHS; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] internal byte isConditionDependent; + + [FieldOffset(120)] internal __IntPtr chosenSubExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10ChooseExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28057,7 +32575,7 @@ internal static ChooseExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28077,7 +32595,7 @@ protected ChooseExpr(void* native, bool skipVTables = false) public ChooseExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28086,7 +32604,7 @@ public ChooseExpr() public ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ChooseExpr.__Internal*) _0.__Instance); @@ -28203,27 +32721,64 @@ public bool IsConditionDependent public unsafe partial class GNUNullExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal tokenLocation; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11GNUNullExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28259,7 +32814,7 @@ internal static GNUNullExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28279,7 +32834,7 @@ protected GNUNullExpr(void* native, bool skipVTables = false) public GNUNullExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28288,7 +32843,7 @@ public GNUNullExpr() public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GNUNullExpr.__Internal*) _0.__Instance); @@ -28310,30 +32865,73 @@ public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) public unsafe partial class VAArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal byte isMicrosoftABI; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9VAArgExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28369,7 +32967,7 @@ internal static VAArgExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28389,7 +32987,7 @@ protected VAArgExpr(void* native, bool skipVTables = false) public VAArgExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28398,7 +32996,7 @@ public VAArgExpr() public VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.VAArgExpr.__Internal*) _0.__Instance); @@ -28460,38 +33058,97 @@ public bool IsMicrosoftABI public unsafe partial class InitListExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr arrayFiller; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rBraceLoc; + + [FieldOffset(96)] internal __IntPtr syntacticForm; + + [FieldOffset(104)] internal uint numInits; + + [FieldOffset(108)] internal byte hasArrayFiller; + + [FieldOffset(109)] internal byte isExplicit; + + [FieldOffset(110)] internal byte isStringLiteralInit; + + [FieldOffset(111)] internal byte isTransparent; + + [FieldOffset(112)] internal byte isSemanticForm; + + [FieldOffset(120)] internal __IntPtr semanticForm; + + [FieldOffset(128)] internal byte isSyntacticForm; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12InitListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28527,7 +33184,7 @@ internal static InitListExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28547,7 +33204,7 @@ protected InitListExpr(void* native, bool skipVTables = false) public InitListExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28556,7 +33213,7 @@ public InitListExpr() public InitListExpr(global::CppSharp.Parser.AST.InitListExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.InitListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.InitListExpr.__Internal*) _0.__Instance); @@ -28724,32 +33381,79 @@ public bool IsSyntacticForm public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal equalOrColonLoc; + + [FieldOffset(80)] internal __IntPtr init; + + [FieldOffset(88)] internal uint size; + + [FieldOffset(92)] internal byte usesGNUSyntax; + + [FieldOffset(96)] internal uint numSubExprs; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceRange.__Internal designatorsSourceRange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28761,19 +33465,40 @@ public unsafe partial class DesignatedInitExpr : global::CppSharp.Parser.AST.Exp public unsafe partial class Designator : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public partial struct __Internal { + [FieldOffset(0)] internal __IntPtr field; + + [FieldOffset(8)] internal byte isFieldDesignator; + + [FieldOffset(9)] internal byte isArrayDesignator; + + [FieldOffset(10)] internal byte isArrayRangeDesignator; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal dotLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal fieldLoc; + + [FieldOffset(20)] internal global::CppSharp.Parser.SourceLocation.__Internal lBracketLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(28)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(32)] internal uint firstExprIndex; + + [FieldOffset(36)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr10DesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -28827,7 +33552,7 @@ internal static Designator __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -28848,7 +33573,7 @@ protected Designator(void* native, bool skipVTables = false) public Designator() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -28856,7 +33581,7 @@ public Designator() public Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal*) _0.__Instance); @@ -28876,7 +33601,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -29029,7 +33754,7 @@ public uint FirstExprIndex public unsafe partial class FieldDesignator : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr15FieldDesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29083,7 +33808,7 @@ internal static FieldDesignator __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29104,7 +33829,7 @@ protected FieldDesignator(void* native, bool skipVTables = false) public FieldDesignator() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29112,7 +33837,7 @@ public FieldDesignator() public FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal*) _0.__Instance); @@ -29132,14 +33857,14 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class ArrayOrRangeDesignator : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18DesignatedInitExpr22ArrayOrRangeDesignatorC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29193,7 +33918,7 @@ internal static ArrayOrRangeDesignator __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29214,7 +33939,7 @@ protected ArrayOrRangeDesignator(void* native, bool skipVTables = false) public ArrayOrRangeDesignator() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29222,7 +33947,7 @@ public ArrayOrRangeDesignator() public ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal*) _0.__Instance); @@ -29242,7 +33967,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -29273,7 +33998,7 @@ internal static DesignatedInitExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29293,7 +34018,7 @@ protected DesignatedInitExpr(void* native, bool skipVTables = false) public DesignatedInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29302,7 +34027,7 @@ public DesignatedInitExpr() public DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal*) _0.__Instance); @@ -29392,26 +34117,61 @@ public uint NumSubExprs public unsafe partial class NoInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10NoInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29447,7 +34207,7 @@ internal static NoInitExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29467,7 +34227,7 @@ protected NoInitExpr(void* native, bool skipVTables = false) public NoInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29476,7 +34236,7 @@ public NoInitExpr() public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.NoInitExpr.__Internal*) _0.__Instance); @@ -29485,28 +34245,67 @@ public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) public unsafe partial class DesignatedInitUpdateExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal __IntPtr updater; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24DesignatedInitUpdateExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29542,7 +34341,7 @@ internal static DesignatedInitUpdateExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29562,7 +34361,7 @@ protected DesignatedInitUpdateExpr(void* native, bool skipVTables = false) public DesignatedInitUpdateExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29571,7 +34370,7 @@ public DesignatedInitUpdateExpr() public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal*) _0.__Instance); @@ -29608,28 +34407,67 @@ public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdate public unsafe partial class ArrayInitLoopExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr commonExpr; + + [FieldOffset(88)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17ArrayInitLoopExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29665,7 +34503,7 @@ internal static ArrayInitLoopExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29685,7 +34523,7 @@ protected ArrayInitLoopExpr(void* native, bool skipVTables = false) public ArrayInitLoopExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29694,7 +34532,7 @@ public ArrayInitLoopExpr() public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal*) _0.__Instance); @@ -29731,26 +34569,61 @@ public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) public unsafe partial class ArrayInitIndexExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArrayInitIndexExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29786,7 +34659,7 @@ internal static ArrayInitIndexExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29806,7 +34679,7 @@ protected ArrayInitIndexExpr(void* native, bool skipVTables = false) public ArrayInitIndexExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29815,7 +34688,7 @@ public ArrayInitIndexExpr() public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal*) _0.__Instance); @@ -29824,26 +34697,61 @@ public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) public unsafe partial class ImplicitValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21ImplicitValueInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29879,7 +34787,7 @@ internal static ImplicitValueInitExpr __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29899,7 +34807,7 @@ protected ImplicitValueInitExpr(void* native, bool skipVTables = false) public ImplicitValueInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -29908,7 +34816,7 @@ public ImplicitValueInitExpr() public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal*) _0.__Instance); @@ -29917,29 +34825,70 @@ public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _ public unsafe partial class ParenListExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numExprs; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13ParenListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -29975,7 +34924,7 @@ internal static ParenListExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -29995,7 +34944,7 @@ protected ParenListExpr(void* native, bool skipVTables = false) public ParenListExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30004,7 +34953,7 @@ public ParenListExpr() public ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ParenListExpr.__Internal*) _0.__Instance); @@ -30052,34 +35001,85 @@ public uint NumExprs public unsafe partial class GenericSelectionExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numAssocs; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal genericLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(96)] internal __IntPtr controllingExpr; + + [FieldOffset(104)] internal byte isResultDependent; + + [FieldOffset(108)] internal uint resultIndex; + + [FieldOffset(112)] internal __IntPtr resultExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20GenericSelectionExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30115,7 +35115,7 @@ internal static GenericSelectionExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30135,7 +35135,7 @@ protected GenericSelectionExpr(void* native, bool skipVTables = false) public GenericSelectionExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30144,7 +35144,7 @@ public GenericSelectionExpr() public GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal*) _0.__Instance); @@ -30259,31 +35259,76 @@ public uint ResultIndex public unsafe partial class ExtVectorElementExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal accessorLoc; + + [FieldOffset(92)] internal uint numElements; + + [FieldOffset(96)] internal byte containsDuplicateElements; + + [FieldOffset(97)] internal byte isArrow; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20ExtVectorElementExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30319,7 +35364,7 @@ internal static ExtVectorElementExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30339,7 +35384,7 @@ protected ExtVectorElementExpr(void* native, bool skipVTables = false) public ExtVectorElementExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30348,7 +35393,7 @@ public ExtVectorElementExpr() public ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal*) _0.__Instance); @@ -30423,28 +35468,67 @@ public bool IsArrow public unsafe partial class BlockExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal caretLocation; + + [FieldOffset(80)] internal __IntPtr body; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST9BlockExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30480,7 +35564,7 @@ internal static BlockExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30500,7 +35584,7 @@ protected BlockExpr(void* native, bool skipVTables = false) public BlockExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30509,7 +35593,7 @@ public BlockExpr() public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.BlockExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.BlockExpr.__Internal*) _0.__Instance); @@ -30545,29 +35629,70 @@ public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) public unsafe partial class AsTypeExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr srcExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10AsTypeExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30603,7 +35728,7 @@ internal static AsTypeExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30623,7 +35748,7 @@ protected AsTypeExpr(void* native, bool skipVTables = false) public AsTypeExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30632,7 +35757,7 @@ public AsTypeExpr() public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AsTypeExpr.__Internal*) _0.__Instance); @@ -30681,30 +35806,73 @@ public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) public unsafe partial class PseudoObjectExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr syntacticForm; + + [FieldOffset(88)] internal uint resultExprIndex; + + [FieldOffset(96)] internal __IntPtr resultExpr; + + [FieldOffset(104)] internal uint numSemanticExprs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16PseudoObjectExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30740,7 +35908,7 @@ internal static PseudoObjectExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30760,7 +35928,7 @@ protected PseudoObjectExpr(void* native, bool skipVTables = false) public PseudoObjectExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30769,7 +35937,7 @@ public PseudoObjectExpr() public PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal*) _0.__Instance); @@ -30832,41 +36000,106 @@ public uint NumSemanticExprs public unsafe partial class AtomicExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 176)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr ptr; + + [FieldOffset(88)] internal __IntPtr order; + + [FieldOffset(96)] internal __IntPtr scope; + + [FieldOffset(104)] internal __IntPtr val1; + + [FieldOffset(112)] internal __IntPtr orderFail; + + [FieldOffset(120)] internal __IntPtr val2; + + [FieldOffset(128)] internal __IntPtr weak; + + [FieldOffset(136)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal valueType; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.AtomicExpr.AtomicOp op; + + [FieldOffset(156)] internal uint numSubExprs; + + [FieldOffset(160)] internal byte isVolatile; + + [FieldOffset(161)] internal byte isCmpXChg; + + [FieldOffset(162)] internal byte isOpenCL; + + [FieldOffset(164)] internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + + [FieldOffset(168)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10AtomicExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -30952,7 +36185,7 @@ internal static AtomicExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -30972,7 +36205,7 @@ protected AtomicExpr(void* native, bool skipVTables = false) public AtomicExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -30981,7 +36214,7 @@ public AtomicExpr() public AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.AtomicExpr.__Internal*) _0.__Instance); @@ -31194,26 +36427,61 @@ public bool IsOpenCL public unsafe partial class TypoExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST8TypoExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31249,7 +36517,7 @@ internal static TypoExpr __CreateInstance(__Internal native, bool skipVTables = private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -31269,7 +36537,7 @@ protected TypoExpr(void* native, bool skipVTables = false) public TypoExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31278,7 +36546,7 @@ public TypoExpr() public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypoExpr.__Internal*) _0.__Instance); @@ -31287,39 +36555,100 @@ public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) public unsafe partial class CXXOperatorCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.OverloadedOperatorKind _operator; + + [FieldOffset(156)] internal byte isAssignmentOp; + + [FieldOffset(157)] internal byte isInfixBinaryOp; + + [FieldOffset(160)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19CXXOperatorCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31358,7 +36687,7 @@ internal static CXXOperatorCallExpr __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -31378,7 +36707,7 @@ protected CXXOperatorCallExpr(void* native, bool skipVTables = false) public CXXOperatorCallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31387,7 +36716,7 @@ public CXXOperatorCallExpr() public CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -31407,7 +36736,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -31466,37 +36795,94 @@ public bool IsInfixBinaryOp public unsafe partial class CXXMemberCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; + + [FieldOffset(152)] internal __IntPtr implicitObjectArgument; + + [FieldOffset(160)] internal __IntPtr methodDecl; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXMemberCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31535,7 +36921,7 @@ internal static CXXMemberCallExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -31555,7 +36941,7 @@ protected CXXMemberCallExpr(void* native, bool skipVTables = false) public CXXMemberCallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31564,7 +36950,7 @@ public CXXMemberCallExpr() public CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -31584,7 +36970,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -31619,36 +37005,91 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class CUDAKernelCallExpr : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; + + [FieldOffset(152)] internal __IntPtr config; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CUDAKernelCallExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31687,7 +37128,7 @@ internal static CUDAKernelCallExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -31707,7 +37148,7 @@ protected CUDAKernelCallExpr(void* native, bool skipVTables = false) public CUDAKernelCallExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31716,7 +37157,7 @@ public CUDAKernelCallExpr() public CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -31736,7 +37177,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -31757,38 +37198,97 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class CXXNamedCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXNamedCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -31828,7 +37328,7 @@ internal static CXXNamedCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -31848,7 +37348,7 @@ protected CXXNamedCastExpr(void* native, bool skipVTables = false) public CXXNamedCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -31857,7 +37357,7 @@ public CXXNamedCastExpr() public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -31866,7 +37366,7 @@ public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) public CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal*) _0.__Instance); @@ -31948,38 +37448,97 @@ public string CastName public unsafe partial class CXXStaticCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXStaticCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32015,7 +37574,7 @@ internal static CXXStaticCastExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32035,7 +37594,7 @@ protected CXXStaticCastExpr(void* native, bool skipVTables = false) public CXXStaticCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32044,7 +37603,7 @@ public CXXStaticCastExpr() public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal*) _0.__Instance); @@ -32053,39 +37612,100 @@ public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) public unsafe partial class CXXDynamicCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + + [FieldOffset(160)] internal byte isAlwaysNull; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXDynamicCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32121,7 +37741,7 @@ internal static CXXDynamicCastExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32141,7 +37761,7 @@ protected CXXDynamicCastExpr(void* native, bool skipVTables = false) public CXXDynamicCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32150,7 +37770,7 @@ public CXXDynamicCastExpr() public CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal*) _0.__Instance); @@ -32172,38 +37792,97 @@ public bool IsAlwaysNull public unsafe partial class CXXReinterpretCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXReinterpretCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32239,7 +37918,7 @@ internal static CXXReinterpretCastExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32259,7 +37938,7 @@ protected CXXReinterpretCastExpr(void* native, bool skipVTables = false) public CXXReinterpretCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32268,7 +37947,7 @@ public CXXReinterpretCastExpr() public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal*) _0.__Instance); @@ -32277,38 +37956,97 @@ public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr public unsafe partial class CXXConstCastExpr : global::CppSharp.Parser.AST.CXXNamedCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 160)] + [StructLayout(LayoutKind.Explicit, Size = 160)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal __IntPtr castName; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(148)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(152)] internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32344,7 +38082,7 @@ internal static CXXConstCastExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32364,7 +38102,7 @@ protected CXXConstCastExpr(void* native, bool skipVTables = false) public CXXConstCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32373,7 +38111,7 @@ public CXXConstCastExpr() public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal*) _0.__Instance); @@ -32382,38 +38120,97 @@ public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) public unsafe partial class UserDefinedLiteral : global::CppSharp.Parser.AST.CallExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 176)] + [StructLayout(LayoutKind.Explicit, Size = 176)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal __IntPtr callee; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(120)] internal __IntPtr calleeDecl; + + [FieldOffset(128)] internal __IntPtr directCallee; + + [FieldOffset(136)] internal uint numArgs; + + [FieldOffset(140)] internal uint numCommas; + + [FieldOffset(144)] internal uint builtinCallee; + + [FieldOffset(148)] internal byte isCallToStdMove; + + [FieldOffset(152)] internal global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind; + + [FieldOffset(160)] internal __IntPtr cookedLiteral; + + [FieldOffset(168)] internal global::CppSharp.Parser.SourceLocation.__Internal uDSuffixLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18UserDefinedLiteralC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32462,7 +38259,7 @@ internal static UserDefinedLiteral __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -32482,7 +38279,7 @@ protected UserDefinedLiteral(void* native, bool skipVTables = false) public UserDefinedLiteral() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32491,7 +38288,7 @@ public UserDefinedLiteral() public UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -32511,7 +38308,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -32558,28 +38355,67 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) public unsafe partial class CXXBoolLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte value; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXBoolLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32615,7 +38451,7 @@ internal static CXXBoolLiteralExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32635,7 +38471,7 @@ protected CXXBoolLiteralExpr(void* native, bool skipVTables = false) public CXXBoolLiteralExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32644,7 +38480,7 @@ public CXXBoolLiteralExpr() public CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal*) _0.__Instance); @@ -32679,27 +38515,64 @@ public bool Value public unsafe partial class CXXNullPtrLiteralExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21CXXNullPtrLiteralExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32735,7 +38608,7 @@ internal static CXXNullPtrLiteralExpr __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32755,7 +38628,7 @@ protected CXXNullPtrLiteralExpr(void* native, bool skipVTables = false) public CXXNullPtrLiteralExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32764,7 +38637,7 @@ public CXXNullPtrLiteralExpr() public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal*) _0.__Instance); @@ -32786,27 +38659,64 @@ public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _ public unsafe partial class CXXStdInitializerListExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25CXXStdInitializerListExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32842,7 +38752,7 @@ internal static CXXStdInitializerListExpr __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32862,7 +38772,7 @@ protected CXXStdInitializerListExpr(void* native, bool skipVTables = false) public CXXStdInitializerListExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32871,7 +38781,7 @@ public CXXStdInitializerListExpr() public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal*) _0.__Instance); @@ -32894,29 +38804,70 @@ public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerLi public unsafe partial class CXXTypeidExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr exprOperand; + + [FieldOffset(88)] internal byte isPotentiallyEvaluated; + + [FieldOffset(89)] internal byte isTypeOperand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXTypeidExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -32952,7 +38903,7 @@ internal static CXXTypeidExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -32972,7 +38923,7 @@ protected CXXTypeidExpr(void* native, bool skipVTables = false) public CXXTypeidExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -32981,7 +38932,7 @@ public CXXTypeidExpr() public CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal*) _0.__Instance); @@ -33030,30 +38981,73 @@ public bool IsTypeOperand public unsafe partial class MSPropertyRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isImplicitAccess; + + [FieldOffset(80)] internal __IntPtr baseExpr; + + [FieldOffset(88)] internal byte isArrow; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17MSPropertyRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33089,7 +39083,7 @@ internal static MSPropertyRefExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33109,7 +39103,7 @@ protected MSPropertyRefExpr(void* native, bool skipVTables = false) public MSPropertyRefExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33118,7 +39112,7 @@ public MSPropertyRefExpr() public MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal*) _0.__Instance); @@ -33180,29 +39174,70 @@ public bool IsArrow public unsafe partial class MSPropertySubscriptExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal __IntPtr idx; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23MSPropertySubscriptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33238,7 +39273,7 @@ internal static MSPropertySubscriptExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33258,7 +39293,7 @@ protected MSPropertySubscriptExpr(void* native, bool skipVTables = false) public MSPropertySubscriptExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33267,7 +39302,7 @@ public MSPropertySubscriptExpr() public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal*) _0.__Instance); @@ -33317,29 +39352,70 @@ public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptEx public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr exprOperand; - internal global::Std.BasicString.__Internal uuidStr; + + [FieldOffset(88)] + internal global::Std.BasicString.__Internal UuidStr; + + [FieldOffset(96)] internal byte isTypeOperand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33350,6 +39426,12 @@ public unsafe partial class CXXUuidofExpr : global::CppSharp.Parser.AST.Expr, ID [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExprD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExpr10getUuidStrEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetUuidStr(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXUuidofExpr10setUuidStrEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetUuidStr(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } internal static new CXXUuidofExpr __CreateInstance(__IntPtr native, bool skipVTables = false) @@ -33378,7 +39460,7 @@ internal static CXXUuidofExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -33398,7 +39480,7 @@ protected CXXUuidofExpr(void* native, bool skipVTables = false) public CXXUuidofExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33407,7 +39489,7 @@ public CXXUuidofExpr() public CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -33427,7 +39509,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -33445,58 +39527,97 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) } } - public string UuidStr + public bool IsTypeOperand { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->uuidStr)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->isTypeOperand != 0; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->uuidStr), value); + ((__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); } } - public bool IsTypeOperand + public string UuidStr { get { - return ((__Internal*)__Instance)->isTypeOperand != 0; + var ___ret = __Internal.GetUuidStr(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + __Internal.SetUuidStr(__Instance, value); } } } public unsafe partial class CXXThisExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal byte @implicit; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CXXThisExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33532,7 +39653,7 @@ internal static CXXThisExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33552,7 +39673,7 @@ protected CXXThisExpr(void* native, bool skipVTables = false) public CXXThisExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33561,7 +39682,7 @@ public CXXThisExpr() public CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThisExpr.__Internal*) _0.__Instance); @@ -33596,29 +39717,70 @@ public bool Implicit public unsafe partial class CXXThrowExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal throwLoc; + + [FieldOffset(92)] internal byte isThrownVariableInScope; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12CXXThrowExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33654,7 +39816,7 @@ internal static CXXThrowExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33674,7 +39836,7 @@ protected CXXThrowExpr(void* native, bool skipVTables = false) public CXXThrowExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33683,7 +39845,7 @@ public CXXThrowExpr() public CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXThrowExpr.__Internal*) _0.__Instance); @@ -33732,28 +39894,67 @@ public bool IsThrownVariableInScope public unsafe partial class CXXDefaultArgExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr expr; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal usedLocation; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17CXXDefaultArgExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33789,7 +39990,7 @@ internal static CXXDefaultArgExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33809,7 +40010,7 @@ protected CXXDefaultArgExpr(void* native, bool skipVTables = false) public CXXDefaultArgExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33818,7 +40019,7 @@ public CXXDefaultArgExpr() public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal*) _0.__Instance); @@ -33854,28 +40055,67 @@ public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) public unsafe partial class CXXDefaultInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr field; + + [FieldOffset(88)] internal __IntPtr expr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18CXXDefaultInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -33911,7 +40151,7 @@ internal static CXXDefaultInitExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -33931,7 +40171,7 @@ protected CXXDefaultInitExpr(void* native, bool skipVTables = false) public CXXDefaultInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -33940,7 +40180,7 @@ public CXXDefaultInitExpr() public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal*) _0.__Instance); @@ -33977,27 +40217,64 @@ public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) public unsafe partial class CXXBindTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20CXXBindTemporaryExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34033,7 +40310,7 @@ internal static CXXBindTemporaryExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -34053,7 +40330,7 @@ protected CXXBindTemporaryExpr(void* native, bool skipVTables = false) public CXXBindTemporaryExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34062,7 +40339,7 @@ public CXXBindTemporaryExpr() public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal*) _0.__Instance); @@ -34085,35 +40362,88 @@ public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) public unsafe partial class CXXConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(108)] internal byte elidable; + + [FieldOffset(109)] internal byte hadMultipleCandidates; + + [FieldOffset(110)] internal byte listInitialization; + + [FieldOffset(111)] internal byte stdInitListInitialization; + + [FieldOffset(112)] internal byte requiresZeroInitialization; + + [FieldOffset(116)] internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(124)] internal uint numArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16CXXConstructExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34175,7 +40505,7 @@ internal static CXXConstructExpr __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXConstructExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -34195,7 +40525,7 @@ protected CXXConstructExpr(void* native, bool skipVTables = false) public CXXConstructExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34204,7 +40534,7 @@ public CXXConstructExpr() public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -34213,7 +40543,7 @@ public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -34233,7 +40563,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -34381,29 +40711,70 @@ public uint GetargumentsCount public unsafe partial class CXXInheritedCtorInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte constructsVBase; + + [FieldOffset(74)] internal byte inheritedFromVBase; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24CXXInheritedCtorInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34439,7 +40810,7 @@ internal static CXXInheritedCtorInitExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -34459,7 +40830,7 @@ protected CXXInheritedCtorInitExpr(void* native, bool skipVTables = false) public CXXInheritedCtorInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34468,7 +40839,7 @@ public CXXInheritedCtorInitExpr() public CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal*) _0.__Instance); @@ -34516,37 +40887,94 @@ public bool InheritedFromVBase public unsafe partial class CXXFunctionalCastExpr : global::CppSharp.Parser.AST.ExplicitCastExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.AST.CastKind castKind; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal __IntPtr castKindName; + + [FieldOffset(96)] internal __IntPtr subExprAsWritten; + + [FieldOffset(104)] internal __IntPtr conversionFunction; + + [FieldOffset(112)] internal byte path_empty; + + [FieldOffset(116)] internal uint path_size; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(136)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(140)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(144)] internal byte isListInitialization; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST21CXXFunctionalCastExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34582,7 +41010,7 @@ internal static CXXFunctionalCastExpr __CreateInstance(__Internal native, bool s private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -34602,7 +41030,7 @@ protected CXXFunctionalCastExpr(void* native, bool skipVTables = false) public CXXFunctionalCastExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34611,7 +41039,7 @@ public CXXFunctionalCastExpr() public CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal*) _0.__Instance); @@ -34659,35 +41087,88 @@ public bool IsListInitialization public unsafe partial class CXXTemporaryObjectExpr : global::CppSharp.Parser.AST.CXXConstructExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(108)] internal byte elidable; + + [FieldOffset(109)] internal byte hadMultipleCandidates; + + [FieldOffset(110)] internal byte listInitialization; + + [FieldOffset(111)] internal byte stdInitListInitialization; + + [FieldOffset(112)] internal byte requiresZeroInitialization; + + [FieldOffset(116)] internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + + [FieldOffset(124)] internal uint numArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXTemporaryObjectExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34726,7 +41207,7 @@ internal static CXXTemporaryObjectExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -34746,7 +41227,7 @@ protected CXXTemporaryObjectExpr(void* native, bool skipVTables = false) public CXXTemporaryObjectExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34755,7 +41236,7 @@ public CXXTemporaryObjectExpr() public CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -34775,43 +41256,98 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } public unsafe partial class LambdaExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal capture_inits; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal captureDefaultLoc; + + [FieldOffset(108)] internal uint capture_size; + + [FieldOffset(112)] internal global::CppSharp.Parser.SourceRange.__Internal introducerRange; + + [FieldOffset(120)] internal __IntPtr callOperator; + + [FieldOffset(128)] internal byte isGenericLambda; + + [FieldOffset(136)] internal __IntPtr body; + + [FieldOffset(144)] internal byte isMutable; + + [FieldOffset(145)] internal byte hasExplicitParameters; + + [FieldOffset(146)] internal byte hasExplicitResultType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10LambdaExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -34862,7 +41398,7 @@ internal static LambdaExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.LambdaExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -34882,7 +41418,7 @@ protected LambdaExpr(void* native, bool skipVTables = false) public LambdaExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -34891,7 +41427,7 @@ public LambdaExpr() public LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -34911,7 +41447,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -35069,27 +41605,64 @@ public uint GetcaptureInitsCount public unsafe partial class CXXScalarValueInitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST22CXXScalarValueInitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35125,7 +41698,7 @@ internal static CXXScalarValueInitExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -35145,7 +41718,7 @@ protected CXXScalarValueInitExpr(void* native, bool skipVTables = false) public CXXScalarValueInitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35154,7 +41727,7 @@ public CXXScalarValueInitExpr() public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal*) _0.__Instance); @@ -35176,41 +41749,106 @@ public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr public unsafe partial class CXXNewExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 200)] + [StructLayout(LayoutKind.Explicit, Size = 200)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal placement_arguments; + + [FieldOffset(104)] internal __IntPtr operatorNew; + + [FieldOffset(112)] internal __IntPtr operatorDelete; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal allocatedType; + + [FieldOffset(136)] internal byte isArray; + + [FieldOffset(144)] internal __IntPtr arraySize; + + [FieldOffset(152)] internal uint numPlacementArgs; + + [FieldOffset(156)] internal byte isParenTypeId; + + [FieldOffset(160)] internal global::CppSharp.Parser.SourceRange.__Internal typeIdParens; + + [FieldOffset(168)] internal byte isGlobalNew; + + [FieldOffset(169)] internal byte hasInitializer; + + [FieldOffset(172)] internal global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle; + + [FieldOffset(176)] internal __IntPtr initializer; + + [FieldOffset(184)] internal __IntPtr constructExpr; + + [FieldOffset(192)] internal global::CppSharp.Parser.SourceRange.__Internal directInitRange; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST10CXXNewExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35268,7 +41906,7 @@ internal static CXXNewExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXNewExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -35288,7 +41926,7 @@ protected CXXNewExpr(void* native, bool skipVTables = false) public CXXNewExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35297,7 +41935,7 @@ public CXXNewExpr() public CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -35317,7 +41955,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -35547,32 +42185,79 @@ public uint GetplacementArgumentsCount public unsafe partial class CXXDeleteExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isGlobalDelete; + + [FieldOffset(74)] internal byte isArrayForm; + + [FieldOffset(75)] internal byte isArrayFormAsWritten; + + [FieldOffset(80)] internal __IntPtr operatorDelete; + + [FieldOffset(88)] internal __IntPtr argument; + + [FieldOffset(96)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13CXXDeleteExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35608,7 +42293,7 @@ internal static CXXDeleteExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -35628,7 +42313,7 @@ protected CXXDeleteExpr(void* native, bool skipVTables = false) public CXXDeleteExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35637,7 +42322,7 @@ public CXXDeleteExpr() public CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal*) _0.__Instance); @@ -35728,34 +42413,85 @@ public bool IsArrayFormAsWritten public unsafe partial class CXXPseudoDestructorExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal byte hasQualifier; + + [FieldOffset(89)] internal byte isArrow; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal colonColonLoc; + + [FieldOffset(100)] internal global::CppSharp.Parser.SourceLocation.__Internal tildeLoc; + + [FieldOffset(104)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + + [FieldOffset(120)] internal global::CppSharp.Parser.SourceLocation.__Internal destroyedTypeLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST23CXXPseudoDestructorExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35791,7 +42527,7 @@ internal static CXXPseudoDestructorExpr __CreateInstance(__Internal native, bool private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -35811,7 +42547,7 @@ protected CXXPseudoDestructorExpr(void* native, bool skipVTables = false) public CXXPseudoDestructorExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -35820,7 +42556,7 @@ public CXXPseudoDestructorExpr() public CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal*) _0.__Instance); @@ -35936,28 +42672,67 @@ public bool IsArrow public unsafe partial class TypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 80)] + [StructLayout(LayoutKind.Explicit, Size = 80)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte value; + + [FieldOffset(76)] internal uint numArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST13TypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -35993,7 +42768,7 @@ internal static TypeTraitExpr __CreateInstance(__Internal native, bool skipVTabl private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36013,7 +42788,7 @@ protected TypeTraitExpr(void* native, bool skipVTables = false) public TypeTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36022,7 +42797,7 @@ public TypeTraitExpr() public TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeTraitExpr.__Internal*) _0.__Instance); @@ -36057,29 +42832,70 @@ public uint NumArgs public unsafe partial class ArrayTypeTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal queriedType; + + [FieldOffset(96)] internal ulong value; + + [FieldOffset(104)] internal __IntPtr dimensionExpression; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST18ArrayTypeTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36115,7 +42931,7 @@ internal static ArrayTypeTraitExpr __CreateInstance(__Internal native, bool skip private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36135,7 +42951,7 @@ protected ArrayTypeTraitExpr(void* native, bool skipVTables = false) public ArrayTypeTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36144,7 +42960,7 @@ public ArrayTypeTraitExpr() public ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal*) _0.__Instance); @@ -36195,28 +43011,67 @@ public ulong Value public unsafe partial class ExpressionTraitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr queriedExpression; + + [FieldOffset(88)] internal byte value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST19ExpressionTraitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36252,7 +43107,7 @@ internal static ExpressionTraitExpr __CreateInstance(__Internal native, bool ski private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36272,7 +43127,7 @@ protected ExpressionTraitExpr(void* native, bool skipVTables = false) public ExpressionTraitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36281,7 +43136,7 @@ public ExpressionTraitExpr() public ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal*) _0.__Instance); @@ -36317,34 +43172,85 @@ public bool Value public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numDecls; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(96)] internal byte hasTemplateKeyword; + + [FieldOffset(97)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(100)] internal uint numTemplateArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OverloadExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36359,7 +43265,7 @@ public unsafe partial class OverloadExpr : global::CppSharp.Parser.AST.Expr, IDi public unsafe partial class FindResult : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST12OverloadExpr10FindResultC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36413,7 +43319,7 @@ internal static FindResult __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36434,7 +43340,7 @@ protected FindResult(void* native, bool skipVTables = false) public FindResult() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36442,7 +43348,7 @@ public FindResult() public FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal*) _0.__Instance); @@ -36462,7 +43368,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -36493,7 +43399,7 @@ internal static OverloadExpr __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36513,7 +43419,7 @@ protected OverloadExpr(void* native, bool skipVTables = false) public OverloadExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36522,7 +43428,7 @@ public OverloadExpr() public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -36531,7 +43437,7 @@ public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) public OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.OverloadExpr.__Internal*) _0.__Instance); @@ -36649,36 +43555,91 @@ public uint NumTemplateArgs public unsafe partial class UnresolvedLookupExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 112)] + [StructLayout(LayoutKind.Explicit, Size = 112)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numDecls; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(96)] internal byte hasTemplateKeyword; + + [FieldOffset(97)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(100)] internal uint numTemplateArgs; + + [FieldOffset(104)] internal byte requiresADL; + + [FieldOffset(105)] internal byte isOverloaded; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20UnresolvedLookupExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36714,7 +43675,7 @@ internal static UnresolvedLookupExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36734,7 +43695,7 @@ protected UnresolvedLookupExpr(void* native, bool skipVTables = false) public UnresolvedLookupExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36743,7 +43704,7 @@ public UnresolvedLookupExpr() public UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal*) _0.__Instance); @@ -36778,33 +43739,82 @@ public bool IsOverloaded public unsafe partial class DependentScopeDeclRefExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal location; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(92)] internal byte hasTemplateKeyword; + + [FieldOffset(93)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(96)] internal uint numTemplateArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST25DependentScopeDeclRefExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -36840,7 +43850,7 @@ internal static DependentScopeDeclRefExpr __CreateInstance(__Internal native, bo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -36860,7 +43870,7 @@ protected DependentScopeDeclRefExpr(void* native, bool skipVTables = false) public DependentScopeDeclRefExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -36869,7 +43879,7 @@ public DependentScopeDeclRefExpr() public DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal*) _0.__Instance); @@ -36969,29 +43979,70 @@ public uint NumTemplateArgs public unsafe partial class ExprWithCleanups : global::CppSharp.Parser.AST.FullExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr subExpr; + + [FieldOffset(88)] internal uint numObjects; + + [FieldOffset(92)] internal byte cleanupsHaveSideEffects; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST16ExprWithCleanupsC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37027,7 +44078,7 @@ internal static ExprWithCleanups __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37047,7 +44098,7 @@ protected ExprWithCleanups(void* native, bool skipVTables = false) public ExprWithCleanups() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37056,7 +44107,7 @@ public ExprWithCleanups() public ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.ExprWithCleanups.__Internal*) _0.__Instance); @@ -37091,32 +44142,79 @@ public bool CleanupsHaveSideEffects public unsafe partial class CXXUnresolvedConstructExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal global::Std.Vector.__Internal arguments; + + [FieldOffset(104)] internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(112)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + + [FieldOffset(128)] internal byte isListInitialization; + + [FieldOffset(132)] internal uint arg_size; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST26CXXUnresolvedConstructExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37167,7 +44265,7 @@ internal static CXXUnresolvedConstructExpr __CreateInstance(__Internal native, b private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -37187,7 +44285,7 @@ protected CXXUnresolvedConstructExpr(void* native, bool skipVTables = false) public CXXUnresolvedConstructExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37196,7 +44294,7 @@ public CXXUnresolvedConstructExpr() public CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -37216,7 +44314,7 @@ internal protected override void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -37320,39 +44418,100 @@ public uint GetargumentsCount public unsafe partial class CXXDependentScopeMemberExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 144)] + [StructLayout(LayoutKind.Explicit, Size = 144)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(73)] internal byte isImplicitAccess; + + [FieldOffset(80)] internal __IntPtr @base; + + [FieldOffset(88)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(104)] internal byte isArrow; + + [FieldOffset(108)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(112)] internal __IntPtr firstQualifierFoundInScope; + + [FieldOffset(120)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + + [FieldOffset(124)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(128)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(132)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(136)] internal byte hasTemplateKeyword; + + [FieldOffset(137)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(140)] internal uint numTemplateArgs; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST27CXXDependentScopeMemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37388,7 +44547,7 @@ internal static CXXDependentScopeMemberExpr __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37408,7 +44567,7 @@ protected CXXDependentScopeMemberExpr(void* native, bool skipVTables = false) public CXXDependentScopeMemberExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37417,7 +44576,7 @@ public CXXDependentScopeMemberExpr() public CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal*) _0.__Instance); @@ -37599,41 +44758,106 @@ public uint NumTemplateArgs public unsafe partial class UnresolvedMemberExpr : global::CppSharp.Parser.AST.OverloadExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 152)] + [StructLayout(LayoutKind.Explicit, Size = 152)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal uint numDecls; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + + [FieldOffset(92)] internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + + [FieldOffset(96)] internal byte hasTemplateKeyword; + + [FieldOffset(97)] internal byte hasExplicitTemplateArgs; + + [FieldOffset(100)] internal uint numTemplateArgs; + + [FieldOffset(104)] internal byte isImplicitAccess; + + [FieldOffset(112)] internal __IntPtr @base; + + [FieldOffset(120)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + + [FieldOffset(136)] internal byte hasUnresolvedUsing; + + [FieldOffset(137)] internal byte isArrow; + + [FieldOffset(140)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(144)] internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20UnresolvedMemberExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37669,7 +44893,7 @@ internal static UnresolvedMemberExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37689,7 +44913,7 @@ protected UnresolvedMemberExpr(void* native, bool skipVTables = false) public UnresolvedMemberExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37698,7 +44922,7 @@ public UnresolvedMemberExpr() public UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal*) _0.__Instance); @@ -37801,28 +45025,67 @@ public bool IsArrow public unsafe partial class CXXNoexceptExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr operand; + + [FieldOffset(88)] internal byte value; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST15CXXNoexceptExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37858,7 +45121,7 @@ internal static CXXNoexceptExpr __CreateInstance(__Internal native, bool skipVTa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -37878,7 +45141,7 @@ protected CXXNoexceptExpr(void* native, bool skipVTables = false) public CXXNoexceptExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -37887,7 +45150,7 @@ public CXXNoexceptExpr() public CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal*) _0.__Instance); @@ -37923,28 +45186,67 @@ public bool Value public unsafe partial class PackExpansionExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 96)] + [StructLayout(LayoutKind.Explicit, Size = 96)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr pattern; + + [FieldOffset(88)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST17PackExpansionExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -37980,7 +45282,7 @@ internal static PackExpansionExpr __CreateInstance(__Internal native, bool skipV private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38000,7 +45302,7 @@ protected PackExpansionExpr(void* native, bool skipVTables = false) public PackExpansionExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38009,7 +45311,7 @@ public PackExpansionExpr() public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.PackExpansionExpr.__Internal*) _0.__Instance); @@ -38045,32 +45347,79 @@ public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) public unsafe partial class SizeOfPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + + [FieldOffset(80)] internal global::CppSharp.Parser.SourceLocation.__Internal packLoc; + + [FieldOffset(84)] internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + + [FieldOffset(88)] internal __IntPtr pack; + + [FieldOffset(96)] internal uint packLength; + + [FieldOffset(100)] internal byte isPartiallySubstituted; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST14SizeOfPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38106,7 +45455,7 @@ internal static SizeOfPackExpr __CreateInstance(__Internal native, bool skipVTab private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38126,7 +45475,7 @@ protected SizeOfPackExpr(void* native, bool skipVTables = false) public SizeOfPackExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38135,7 +45484,7 @@ public SizeOfPackExpr() public SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal*) _0.__Instance); @@ -38223,28 +45572,67 @@ public bool IsPartiallySubstituted public unsafe partial class SubstNonTypeTemplateParmExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + + [FieldOffset(80)] internal __IntPtr replacement; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST28SubstNonTypeTemplateParmExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38280,7 +45668,7 @@ internal static SubstNonTypeTemplateParmExpr __CreateInstance(__Internal native, private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38300,7 +45688,7 @@ protected SubstNonTypeTemplateParmExpr(void* native, bool skipVTables = false) public SubstNonTypeTemplateParmExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38309,7 +45697,7 @@ public SubstNonTypeTemplateParmExpr() public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal*) _0.__Instance); @@ -38345,28 +45733,67 @@ public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemp public unsafe partial class SubstNonTypeTemplateParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(80)] internal global::CppSharp.Parser.AST.TemplateArgument.__Internal argumentPack; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST32SubstNonTypeTemplateParmPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38402,7 +45829,7 @@ internal static SubstNonTypeTemplateParmPackExpr __CreateInstance(__Internal nat private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38422,7 +45849,7 @@ protected SubstNonTypeTemplateParmPackExpr(void* native, bool skipVTables = fals public SubstNonTypeTemplateParmPackExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38431,7 +45858,7 @@ public SubstNonTypeTemplateParmPackExpr() public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal*) _0.__Instance); @@ -38468,28 +45895,67 @@ public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonType public unsafe partial class FunctionParmPackExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 88)] + [StructLayout(LayoutKind.Explicit, Size = 88)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + + [FieldOffset(80)] internal uint numExpansions; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20FunctionParmPackExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38525,7 +45991,7 @@ internal static FunctionParmPackExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38545,7 +46011,7 @@ protected FunctionParmPackExpr(void* native, bool skipVTables = false) public FunctionParmPackExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38554,7 +46020,7 @@ public FunctionParmPackExpr() public FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal*) _0.__Instance); @@ -38589,30 +46055,73 @@ public uint NumExpansions public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr temporary; + + [FieldOffset(88)] internal __IntPtr TemporaryExpr; + + [FieldOffset(96)] internal uint manglingNumber; + + [FieldOffset(100)] internal byte isBoundToLvalueReference; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38624,7 +46133,7 @@ public unsafe partial class MaterializeTemporaryExpr : global::CppSharp.Parser.A public unsafe partial class ExtraState : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST24MaterializeTemporaryExpr10ExtraStateC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38678,7 +46187,7 @@ internal static ExtraState __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38699,7 +46208,7 @@ protected ExtraState(void* native, bool skipVTables = false) public ExtraState() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38707,7 +46216,7 @@ public ExtraState() public ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal*) _0.__Instance); @@ -38727,7 +46236,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -38758,7 +46267,7 @@ internal static MaterializeTemporaryExpr __CreateInstance(__Internal native, boo private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38778,7 +46287,7 @@ protected MaterializeTemporaryExpr(void* native, bool skipVTables = false) public MaterializeTemporaryExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38787,7 +46296,7 @@ public MaterializeTemporaryExpr() public MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal*) _0.__Instance); @@ -38850,34 +46359,85 @@ public bool IsBoundToLvalueReference public unsafe partial class CXXFoldExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr lHS; + + [FieldOffset(88)] internal __IntPtr rHS; + + [FieldOffset(96)] internal byte isRightFold; + + [FieldOffset(97)] internal byte isLeftFold; + + [FieldOffset(104)] internal __IntPtr pattern; + + [FieldOffset(112)] internal __IntPtr init; + + [FieldOffset(120)] internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + + [FieldOffset(124)] internal global::CppSharp.Parser.AST.BinaryOperatorKind _operator; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CXXFoldExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -38913,7 +46473,7 @@ internal static CXXFoldExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -38933,7 +46493,7 @@ protected CXXFoldExpr(void* native, bool skipVTables = false) public CXXFoldExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -38942,7 +46502,7 @@ public CXXFoldExpr() public CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CXXFoldExpr.__Internal*) _0.__Instance); @@ -39059,32 +46619,79 @@ public bool IsLeftFold public unsafe partial class CoroutineSuspendExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 120)] + [StructLayout(LayoutKind.Explicit, Size = 120)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(80)] internal __IntPtr commonExpr; + + [FieldOffset(88)] internal __IntPtr opaqueValue; + + [FieldOffset(96)] internal __IntPtr readyExpr; + + [FieldOffset(104)] internal __IntPtr suspendExpr; + + [FieldOffset(112)] internal __IntPtr resumeExpr; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20CoroutineSuspendExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39132,7 +46739,7 @@ internal static CoroutineSuspendExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39152,7 +46759,7 @@ protected CoroutineSuspendExpr(void* native, bool skipVTables = false) public CoroutineSuspendExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39161,7 +46768,7 @@ public CoroutineSuspendExpr() public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance, klass); @@ -39170,7 +46777,7 @@ public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal*) _0.__Instance); @@ -39267,34 +46874,85 @@ public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) public unsafe partial class CoawaitExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 136)] + [StructLayout(LayoutKind.Explicit, Size = 136)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(80)] internal __IntPtr commonExpr; + + [FieldOffset(88)] internal __IntPtr opaqueValue; + + [FieldOffset(96)] internal __IntPtr readyExpr; + + [FieldOffset(104)] internal __IntPtr suspendExpr; + + [FieldOffset(112)] internal __IntPtr resumeExpr; + + [FieldOffset(120)] internal byte isImplicit; + + [FieldOffset(128)] internal __IntPtr operand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CoawaitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39330,7 +46988,7 @@ internal static CoawaitExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39350,7 +47008,7 @@ protected CoawaitExpr(void* native, bool skipVTables = false) public CoawaitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39359,7 +47017,7 @@ public CoawaitExpr() public CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoawaitExpr.__Internal*) _0.__Instance); @@ -39395,29 +47053,70 @@ public bool IsImplicit public unsafe partial class DependentCoawaitExpr : global::CppSharp.Parser.AST.Expr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 104)] + [StructLayout(LayoutKind.Explicit, Size = 104)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(80)] internal __IntPtr operand; + + [FieldOffset(88)] internal __IntPtr operatorCoawaitLookup; + + [FieldOffset(96)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST20DependentCoawaitExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39453,7 +47152,7 @@ internal static DependentCoawaitExpr __CreateInstance(__Internal native, bool sk private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39473,7 +47172,7 @@ protected DependentCoawaitExpr(void* native, bool skipVTables = false) public DependentCoawaitExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39482,7 +47181,7 @@ public DependentCoawaitExpr() public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal*) _0.__Instance); @@ -39532,33 +47231,82 @@ public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) public unsafe partial class CoyieldExpr : global::CppSharp.Parser.AST.CoroutineSuspendExpr, IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 128)] + [StructLayout(LayoutKind.Explicit, Size = 128)] public new partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.AST.StmtClass stmtClass; + + [FieldOffset(4)] internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + + [FieldOffset(12)] internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + + [FieldOffset(16)] internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + + [FieldOffset(24)] internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + + [FieldOffset(40)] internal byte valueDependent; + + [FieldOffset(41)] internal byte typeDependent; + + [FieldOffset(42)] internal byte instantiationDependent; + + [FieldOffset(43)] internal byte containsUnexpandedParameterPack; + + [FieldOffset(44)] internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + + [FieldOffset(48)] internal byte isLValue; + + [FieldOffset(49)] internal byte isRValue; + + [FieldOffset(50)] internal byte isXValue; + + [FieldOffset(51)] internal byte isGLValue; + + [FieldOffset(52)] internal byte isOrdinaryOrBitFieldObject; + + [FieldOffset(56)] internal __IntPtr sourceBitField; + + [FieldOffset(64)] internal __IntPtr referencedDeclOfCallee; + + [FieldOffset(72)] internal byte hasPlaceholderType; + + [FieldOffset(76)] internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + + [FieldOffset(80)] internal __IntPtr commonExpr; + + [FieldOffset(88)] internal __IntPtr opaqueValue; + + [FieldOffset(96)] internal __IntPtr readyExpr; + + [FieldOffset(104)] internal __IntPtr suspendExpr; + + [FieldOffset(112)] internal __IntPtr resumeExpr; + + [FieldOffset(120)] internal __IntPtr operand; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser3AST11CoyieldExprC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39594,7 +47342,7 @@ internal static CoyieldExpr __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -39614,7 +47362,7 @@ protected CoyieldExpr(void* native, bool skipVTables = false) public CoyieldExpr() : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39623,7 +47371,7 @@ public CoyieldExpr() public CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr _0) : this((void*) null) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.CoyieldExpr.__Internal*) _0.__Instance); @@ -39668,49 +47416,130 @@ public enum ParserIntType public unsafe partial class ParserTargetInfo : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 168)] + [StructLayout(LayoutKind.Explicit, Size = 168)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.BasicString.__Internal ABI; + + [FieldOffset(8)] internal global::CppSharp.Parser.ParserIntType char16Type; + + [FieldOffset(12)] internal global::CppSharp.Parser.ParserIntType char32Type; + + [FieldOffset(16)] internal global::CppSharp.Parser.ParserIntType int64Type; + + [FieldOffset(20)] internal global::CppSharp.Parser.ParserIntType intMaxType; + + [FieldOffset(24)] internal global::CppSharp.Parser.ParserIntType intPtrType; + + [FieldOffset(28)] internal global::CppSharp.Parser.ParserIntType sizeType; + + [FieldOffset(32)] internal global::CppSharp.Parser.ParserIntType uIntMaxType; + + [FieldOffset(36)] internal global::CppSharp.Parser.ParserIntType wCharType; + + [FieldOffset(40)] internal global::CppSharp.Parser.ParserIntType wIntType; + + [FieldOffset(44)] internal uint boolAlign; + + [FieldOffset(48)] internal uint boolWidth; + + [FieldOffset(52)] internal uint charAlign; + + [FieldOffset(56)] internal uint charWidth; + + [FieldOffset(60)] internal uint char16Align; + + [FieldOffset(64)] internal uint char16Width; + + [FieldOffset(68)] internal uint char32Align; + + [FieldOffset(72)] internal uint char32Width; + + [FieldOffset(76)] internal uint halfAlign; + + [FieldOffset(80)] internal uint halfWidth; + + [FieldOffset(84)] internal uint floatAlign; + + [FieldOffset(88)] internal uint floatWidth; + + [FieldOffset(92)] internal uint doubleAlign; + + [FieldOffset(96)] internal uint doubleWidth; + + [FieldOffset(100)] internal uint shortAlign; + + [FieldOffset(104)] internal uint shortWidth; + + [FieldOffset(108)] internal uint intAlign; + + [FieldOffset(112)] internal uint intWidth; + + [FieldOffset(116)] internal uint intMaxTWidth; + + [FieldOffset(120)] internal uint longAlign; + + [FieldOffset(124)] internal uint longWidth; + + [FieldOffset(128)] internal uint longDoubleAlign; + + [FieldOffset(132)] internal uint longDoubleWidth; + + [FieldOffset(136)] internal uint longLongAlign; + + [FieldOffset(140)] internal uint longLongWidth; + + [FieldOffset(144)] internal uint pointerAlign; + + [FieldOffset(148)] internal uint pointerWidth; + + [FieldOffset(152)] internal uint wCharAlign; + + [FieldOffset(156)] internal uint wCharWidth; + + [FieldOffset(160)] internal uint float128Align; + + [FieldOffset(164)] internal uint float128Width; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfoC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -39721,6 +47550,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfoD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfo6getABIEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetABI(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserTargetInfo6setABIEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetABI(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -39767,7 +47602,7 @@ internal static ParserTargetInfo __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.ParserTargetInfo.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -39788,7 +47623,7 @@ protected ParserTargetInfo(void* native, bool skipVTables = false) public ParserTargetInfo() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -39796,7 +47631,7 @@ public ParserTargetInfo() public ParserTargetInfo(global::CppSharp.Parser.ParserTargetInfo _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -39821,24 +47656,10 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string ABI - { - get - { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->ABI)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); - } - - set - { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->ABI), value); - } - } - public global::CppSharp.Parser.ParserIntType Char16Type { get @@ -40358,6 +48179,20 @@ public uint Float128Width ((__Internal*)__Instance)->float128Width = value; } } + + public string ABI + { + get + { + var ___ret = __Internal.GetABI(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetABI(__Instance, value); + } + } } } } @@ -40441,7 +48276,7 @@ internal static Parser __CreateInstance(__Internal native, bool skipVTables = fa private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -40463,30 +48298,74 @@ protected Parser(void* native, bool skipVTables = false) public unsafe partial class CppParserOptions : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 256)] + [StructLayout(LayoutKind.Explicit, Size = 264)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(24)] internal global::Std.Vector.__Internal CompilationOptions; + + [FieldOffset(48)] + internal global::Std.BasicString.__Internal LibraryFile; + + [FieldOffset(56)] internal global::Std.Vector.__Internal SourceFiles; + + [FieldOffset(80)] internal global::Std.Vector.__Internal IncludeDirs; + + [FieldOffset(104)] internal global::Std.Vector.__Internal SystemIncludeDirs; + + [FieldOffset(128)] internal global::Std.Vector.__Internal Defines; + + [FieldOffset(152)] internal global::Std.Vector.__Internal Undefines; + + [FieldOffset(176)] internal global::Std.Vector.__Internal SupportedStdTypes; + + [FieldOffset(200)] internal global::Std.Vector.__Internal SupportedFunctionTemplates; + + [FieldOffset(224)] internal __IntPtr ASTContext; + + [FieldOffset(232)] internal int toolSetToUse; - internal global::Std.BasicString.__Internal targetTriple; + + [FieldOffset(240)] + internal global::Std.BasicString.__Internal TargetTriple; + + [FieldOffset(248)] + internal global::CppSharp.Parser.AST.CppAbi abi; + + [FieldOffset(252)] internal byte noStandardIncludes; + + [FieldOffset(253)] internal byte noBuiltinIncludes; + + [FieldOffset(254)] internal byte microsoftMode; + + [FieldOffset(255)] internal byte verbose; + + [FieldOffset(256)] internal byte unityBuild; + + [FieldOffset(257)] internal byte skipPrivateDeclarations; + + [FieldOffset(258)] internal byte skipLayoutInfo; + + [FieldOffset(259)] internal byte skipFunctionBodies; - internal global::Std.BasicString.__Internal clangVersion; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptionsC2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void ctor(__IntPtr __instance); @@ -40579,7 +48458,7 @@ public partial struct __Internal internal static extern void ClearSupportedFunctionTemplates(__IntPtr __instance); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15getClangVersionEv", CallingConvention = __CallingConvention.Cdecl)] - internal static extern void GetClangVersion(__IntPtr @return, __IntPtr __instance); + internal static extern __IntPtr GetClangVersion(); [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions17getArgumentsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetArgumentsCount(__IntPtr __instance); @@ -40587,6 +48466,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions26getCompilationOptionsCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetCompilationOptionsCount(__IntPtr __instance); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14getLibraryFileEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetLibraryFile(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions14setLibraryFileEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetLibraryFile(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions19getSourceFilesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSourceFilesCount(__IntPtr __instance); @@ -40607,6 +48492,12 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions34getSupportedFunctionTemplatesCountEv", CallingConvention = __CallingConvention.Cdecl)] internal static extern uint GetSupportedFunctionTemplatesCount(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15getTargetTripleEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetTargetTriple(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppParserOptions15setTargetTripleEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetTargetTriple(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -40653,7 +48544,7 @@ internal static CppParserOptions __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.CppParserOptions.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -40674,7 +48565,7 @@ protected CppParserOptions(void* native, bool skipVTables = false) public CppParserOptions() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppParserOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppParserOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -40682,7 +48573,7 @@ public CppParserOptions() public CppParserOptions(global::CppSharp.Parser.CppParserOptions _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppParserOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppParserOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -40707,7 +48598,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -40882,17 +48773,16 @@ public int ToolSetToUse } } - public string TargetTriple + public global::CppSharp.Parser.AST.CppAbi Abi { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->targetTriple)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->abi; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->targetTriple), value); + ((__Internal*)__Instance)->abi = value; } } @@ -41000,16 +48890,12 @@ public bool SkipFunctionBodies } } - public string ClangVersion + public static string ClangVersion { get { - var ___ret = new global::Std.BasicString.__Internal(); - __Internal.GetClangVersion(new IntPtr(&___ret), __Instance); - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&___ret)); - var __retString0 = global::Std.BasicStringExtensions.Data(__basicStringRet0); - __basicStringRet0.Dispose(); - return __retString0; + var ___ret = __Internal.GetClangVersion(); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } } @@ -41031,6 +48917,20 @@ public uint CompilationOptionsCount } } + public string LibraryFile + { + get + { + var ___ret = __Internal.GetLibraryFile(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetLibraryFile(__Instance, value); + } + } + public uint SourceFilesCount { get @@ -41093,15 +48993,34 @@ public uint SupportedFunctionTemplatesCount return ___ret; } } + + public string TargetTriple + { + get + { + var ___ret = __Internal.GetTargetTriple(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + + set + { + __Internal.SetTargetTriple(__Instance, value); + } + } } public unsafe partial class CppLinkerOptions : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 72)] + [StructLayout(LayoutKind.Explicit, Size = 72)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.Vector.__Internal Arguments; + + [FieldOffset(24)] internal global::Std.Vector.__Internal LibraryDirs; + + [FieldOffset(48)] internal global::Std.Vector.__Internal Libraries; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16CppLinkerOptionsC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -41194,7 +49113,7 @@ internal static CppLinkerOptions __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.CppLinkerOptions.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -41215,7 +49134,7 @@ protected CppLinkerOptions(void* native, bool skipVTables = false) public CppLinkerOptions() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -41223,7 +49142,7 @@ public CppLinkerOptions() public CppLinkerOptions(global::CppSharp.Parser.CppLinkerOptions _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -41248,7 +49167,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -41330,13 +49249,22 @@ public uint LibrariesCount public unsafe partial class ParserDiagnostic : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public partial struct __Internal { - internal global::Std.BasicString.__Internal fileName; - internal global::Std.BasicString.__Internal message; + [FieldOffset(0)] + internal global::Std.BasicString.__Internal FileName; + + [FieldOffset(8)] + internal global::Std.BasicString.__Internal Message; + + [FieldOffset(16)] internal global::CppSharp.Parser.ParserDiagnosticLevel level; + + [FieldOffset(20)] internal int lineNumber; + + [FieldOffset(24)] internal int columnNumber; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnosticC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -41347,6 +49275,18 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnosticD2Ev", CallingConvention = __CallingConvention.Cdecl)] internal static extern void dtor(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic11getFileNameEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetFileName(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic11setFileNameEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetFileName(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic10getMessageEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr GetMessage(__IntPtr __instance); + + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser16ParserDiagnostic10setMessageEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern void SetMessage(__IntPtr __instance, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string s); } public __IntPtr __Instance { get; protected set; } @@ -41393,7 +49333,7 @@ internal static ParserDiagnostic __CreateInstance(__Internal native, bool skipVT private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.ParserDiagnostic.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -41414,7 +49354,7 @@ protected ParserDiagnostic(void* native, bool skipVTables = false) public ParserDiagnostic() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -41422,7 +49362,7 @@ public ParserDiagnostic() public ParserDiagnostic(global::CppSharp.Parser.ParserDiagnostic _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -41447,86 +49387,93 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } - public string FileName + public global::CppSharp.Parser.ParserDiagnosticLevel Level { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->level; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + ((__Internal*)__Instance)->level = value; } } - public string Message + public int LineNumber { get { - var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->message)); - return global::Std.BasicStringExtensions.Data(__basicStringRet0); + return ((__Internal*)__Instance)->lineNumber; } set { - global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->message), value); + ((__Internal*)__Instance)->lineNumber = value; } } - public global::CppSharp.Parser.ParserDiagnosticLevel Level + public int ColumnNumber { get { - return ((__Internal*)__Instance)->level; + return ((__Internal*)__Instance)->columnNumber; } set { - ((__Internal*)__Instance)->level = value; + ((__Internal*)__Instance)->columnNumber = value; } } - public int LineNumber + public string FileName { get { - return ((__Internal*)__Instance)->lineNumber; + var ___ret = __Internal.GetFileName(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->lineNumber = value; + __Internal.SetFileName(__Instance, value); } } - public int ColumnNumber + public string Message { get { - return ((__Internal*)__Instance)->columnNumber; + var ___ret = __Internal.GetMessage(__Instance); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); } set { - ((__Internal*)__Instance)->columnNumber = value; + __Internal.SetMessage(__Instance, value); } } } public unsafe partial class ParserResult : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 64)] + [StructLayout(LayoutKind.Explicit, Size = 64)] public partial struct __Internal { + [FieldOffset(0)] internal global::CppSharp.Parser.ParserResultKind kind; + + [FieldOffset(8)] internal global::Std.Vector.__Internal Diagnostics; + + [FieldOffset(32)] internal global::Std.Vector.__Internal Libraries; + + [FieldOffset(56)] internal __IntPtr targetInfo; [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser12ParserResultC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -41607,7 +49554,7 @@ internal static ParserResult __CreateInstance(__Internal native, bool skipVTable private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); global::CppSharp.Parser.ParserResult.__Internal.cctor(ret, new __IntPtr(&native)); return ret.ToPointer(); } @@ -41628,7 +49575,7 @@ protected ParserResult(void* native, bool skipVTables = false) public ParserResult() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); __Internal.ctor(__Instance); @@ -41636,7 +49583,7 @@ public ParserResult() public ParserResult(global::CppSharp.Parser.ParserResult _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserResult.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ParserResult.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); if (ReferenceEquals(_0, null)) @@ -41661,7 +49608,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) if (callNativeDtor) __Internal.dtor(__Instance); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -41756,7 +49703,7 @@ public uint LibrariesCount public unsafe partial class ClangParser : IDisposable { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParserC2ERKS1_", CallingConvention = __CallingConvention.Cdecl)] @@ -41768,14 +49715,14 @@ public partial struct __Internal [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser12ParseLibraryEPNS0_16CppLinkerOptionsE", CallingConvention = __CallingConvention.Cdecl)] internal static extern __IntPtr ParseLibrary(__IntPtr Opts); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser5BuildEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsERKSsb", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr Build(__IntPtr Opts, __IntPtr LinkerOptions, __IntPtr File, bool Last); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser5BuildEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsEPKcb", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Build(__IntPtr Opts, __IntPtr LinkerOptions, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File, bool Last); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser7CompileEPNS0_16CppParserOptionsERKSs", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr Compile(__IntPtr Opts, __IntPtr File); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser7CompileEPNS0_16CppParserOptionsEPKc", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Compile(__IntPtr Opts, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File); - [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser4LinkEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsERKSsb", CallingConvention = __CallingConvention.Cdecl)] - internal static extern __IntPtr Link(__IntPtr Opts, __IntPtr LinkerOptions, __IntPtr File, bool Last); + [SuppressUnmanagedCodeSecurity, DllImport("CppSharp.CppParser", EntryPoint = "_ZN8CppSharp9CppParser11ClangParser4LinkEPNS0_16CppParserOptionsEPKNS0_16CppLinkerOptionsEPKcb", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Link(__IntPtr Opts, __IntPtr LinkerOptions, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(CppSharp.Runtime.UTF8Marshaller))] string File, bool Last); } public __IntPtr __Instance { get; protected set; } @@ -41822,7 +49769,7 @@ internal static ClangParser __CreateInstance(__Internal native, bool skipVTables private static void* __CopyValue(__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(__Internal), 16); *(__Internal*) ret = native; return ret.ToPointer(); } @@ -41843,14 +49790,14 @@ protected ClangParser(void* native, bool skipVTables = false) public ClangParser() { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ClangParser.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ClangParser.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); } public ClangParser(global::CppSharp.Parser.ClangParser _0) { - __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ClangParser.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::CppSharp.Parser.ClangParser.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); *((global::CppSharp.Parser.ClangParser.__Internal*) __Instance) = *((global::CppSharp.Parser.ClangParser.__Internal*) _0.__Instance); @@ -41870,7 +49817,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } @@ -41894,11 +49841,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) { var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; var __arg1 = LinkerOptions is null ? __IntPtr.Zero : LinkerOptions.__Instance; - var __basicString2 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString2, File); - var __arg2 = __basicString2.__Instance; - var ___ret = __Internal.Build(__arg0, __arg1, __arg2, Last); - __basicString2.Dispose(); + var ___ret = __Internal.Build(__arg0, __arg1, File, Last); var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); return __result0; } @@ -41906,11 +49849,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) public static global::CppSharp.Parser.ParserResult Compile(global::CppSharp.Parser.CppParserOptions Opts, string File) { var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; - var __basicString1 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString1, File); - var __arg1 = __basicString1.__Instance; - var ___ret = __Internal.Compile(__arg0, __arg1); - __basicString1.Dispose(); + var ___ret = __Internal.Compile(__arg0, File); var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); return __result0; } @@ -41919,11 +49858,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) { var __arg0 = Opts is null ? __IntPtr.Zero : Opts.__Instance; var __arg1 = LinkerOptions is null ? __IntPtr.Zero : LinkerOptions.__Instance; - var __basicString2 = new global::Std.BasicString, global::Std.Allocator>(); - global::Std.BasicStringExtensions.Assign(__basicString2, File); - var __arg2 = __basicString2.__Instance; - var ___ret = __Internal.Link(__arg0, __arg1, __arg2, Last); - __basicString2.Dispose(); + var ___ret = __Internal.Link(__arg0, __arg1, File, Last); var __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); return __result0; } @@ -41937,18 +49872,24 @@ namespace RbTree { namespace RbTreeImpl { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public unsafe partial struct __Internalc__N_std_S__Rb_tree____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_pair__1S0_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Select1st__S3____N_std_S_less__S0____N_std_S_allocator__S3__S__Rb_tree_impl__S7__Vb1 { + [FieldOffset(0)] internal global::Std.Less.__Internal _M_key_compare; + + [FieldOffset(8)] internal global::Std.RbTreeNodeBase.__Internal _M_header; + + [FieldOffset(40)] internal ulong _M_node_count; } } - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public unsafe partial struct __Internalc__N_std_S__Rb_tree____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_pair__1S0_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Select1st__S3____N_std_S_less__S0____N_std_S_allocator__S3_ { + [FieldOffset(0)] internal global::Std.RbTree.RbTreeImpl.__Internalc__N_std_S__Rb_tree____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_pair__1S0_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Select1st__S3____N_std_S_less__S0____N_std_S_allocator__S3__S__Rb_tree_impl__S7__Vb1 _M_impl; } } @@ -41958,9 +49899,10 @@ namespace Std { namespace Map { - [StructLayout(LayoutKind.Sequential, Size = 48)] + [StructLayout(LayoutKind.Explicit, Size = 48)] public unsafe partial struct __Internalc__N_std_S_map____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_ { + [FieldOffset(0)] internal global::Std.RbTree.__Internalc__N_std_S__Rb_tree____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_pair__1S0_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Select1st__S3____N_std_S_less__S0____N_std_S_allocator__S3_ _M_t; } } diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std-symbols.cpp b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std-symbols.cpp index fc98a8528f..e2d84a3115 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std-symbols.cpp +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std-symbols.cpp @@ -1,5 +1,6 @@ #define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS #define _LIBCPP_HIDE_FROM_ABI +#define _LIBCPP_NO_ABI_TAG #include #include diff --git a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs index 55496aa49f..dad89af914 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs +++ b/src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs @@ -8,6 +8,7 @@ using System.Runtime.CompilerServices; using System.Runtime.InteropServices; using System.Security; +using __NativeMemory = global::System.Runtime.InteropServices.NativeMemory; using __CallingConvention = global::System.Runtime.InteropServices.CallingConvention; using __IntPtr = global::System.IntPtr; @@ -22,7 +23,7 @@ namespace Std { namespace Allocator { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public unsafe partial struct __Internal { [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSaIcEC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -79,7 +80,7 @@ internal static Allocator<_Tp> __CreateInstance(global::Std.Allocator.__Internal private static void* __CopyValue(global::Std.Allocator.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::Std.Allocator.__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.Allocator.__Internal), 16); *(global::Std.Allocator.__Internal*) ret = native; return ret.ToPointer(); } @@ -103,7 +104,7 @@ public Allocator() var ___Tp = typeof(_Tp); if (___Tp.IsAssignableFrom(typeof(sbyte))) { - __Instance = Marshal.AllocHGlobal(sizeof(global::Std.Allocator.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.Allocator.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); global::Std.Allocator.__Internal.ctorc__N_std_S_allocator__C(__Instance); @@ -136,7 +137,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) throw new ArgumentOutOfRangeException("_Tp", string.Join(", ", new[] { typeof(_Tp).FullName }), "global::Std.Allocator<_Tp> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: ."); } if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -146,28 +147,35 @@ namespace Std { namespace Vector { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internal { + [FieldOffset(0)] internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; } } namespace VectorBase { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internal { + [FieldOffset(0)] internal global::Std.VectorBase.VectorImpl.__Internal _M_impl; } namespace VectorImpl { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internal { + [FieldOffset(0)] internal __IntPtr _M_start; + + [FieldOffset(8)] internal __IntPtr _M_finish; + + [FieldOffset(16)] internal __IntPtr _M_end_of_storage; } @@ -175,11 +183,16 @@ public unsafe partial struct __Internal namespace VectorImplData { - [StructLayout(LayoutKind.Sequential, Size = 24)] + [StructLayout(LayoutKind.Explicit, Size = 24)] public unsafe partial struct __Internal { + [FieldOffset(0)] internal __IntPtr _M_start; + + [FieldOffset(8)] internal __IntPtr _M_finish; + + [FieldOffset(16)] internal __IntPtr _M_end_of_storage; } } @@ -191,7 +204,7 @@ namespace Std { namespace Less { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public unsafe partial struct __Internal { } @@ -206,12 +219,19 @@ public enum RbTreeColor : uint public unsafe partial class RbTreeNodeBase { - [StructLayout(LayoutKind.Sequential, Size = 32)] + [StructLayout(LayoutKind.Explicit, Size = 32)] public partial struct __Internal { + [FieldOffset(0)] internal global::Std.RbTreeColor _M_color; + + [FieldOffset(8)] internal __IntPtr _M_parent; + + [FieldOffset(16)] internal __IntPtr _M_left; + + [FieldOffset(24)] internal __IntPtr _M_right; } } @@ -233,7 +253,7 @@ namespace Std { namespace CharTraits { - [StructLayout(LayoutKind.Sequential, Size = 1)] + [StructLayout(LayoutKind.Explicit, Size = 1)] public unsafe partial struct __Internal { } @@ -285,7 +305,7 @@ internal static CharTraits<_CharT> __CreateInstance(global::Std.CharTraits.__Int private static void* __CopyValue(global::Std.CharTraits.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::Std.CharTraits.__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.CharTraits.__Internal), 16); *(global::Std.CharTraits.__Internal*) ret = native; return ret.ToPointer(); } @@ -318,7 +338,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) NativeToManagedMap.TryRemove(__Instance, out _); DisposePartial(disposing); if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } @@ -328,9 +348,10 @@ namespace Std { namespace BasicString { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internal { + [FieldOffset(0)] internal global::Std.BasicString.AllocHider.__Internal _M_dataplus; [SuppressUnmanagedCodeSecurity, DllImport("Std-symbols", EntryPoint = "_ZNSsC2Ev", CallingConvention = __CallingConvention.Cdecl)] @@ -342,9 +363,10 @@ public unsafe partial struct __Internal namespace AllocHider { - [StructLayout(LayoutKind.Sequential, Size = 8)] + [StructLayout(LayoutKind.Explicit, Size = 8)] public unsafe partial struct __Internal { + [FieldOffset(0)] internal __IntPtr _M_p; } } @@ -397,7 +419,7 @@ internal static BasicString<_CharT, _Traits, _Alloc> __CreateInstance(global::St private static void* __CopyValue(global::Std.BasicString.__Internal native) { - var ret = Marshal.AllocHGlobal(sizeof(global::Std.BasicString.__Internal)); + var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.BasicString.__Internal), 16); *(global::Std.BasicString.__Internal*) ret = native; return ret.ToPointer(); } @@ -423,7 +445,7 @@ public BasicString() var ___Alloc = typeof(_Alloc); if (___CharT.IsAssignableFrom(typeof(sbyte)) && ___Traits.IsAssignableFrom(typeof(global::Std.CharTraits)) && ___Alloc.IsAssignableFrom(typeof(global::Std.Allocator))) { - __Instance = Marshal.AllocHGlobal(sizeof(global::Std.BasicString.__Internal)); + __Instance = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof(global::Std.BasicString.__Internal), 16); __ownsNativeInstance = true; __RecordNativeToManagedMapping(__Instance, this); global::Std.BasicString.__Internal.ctorc__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C(__Instance); @@ -458,7 +480,7 @@ internal protected virtual void Dispose(bool disposing, bool callNativeDtor) throw new ArgumentOutOfRangeException("_CharT, _Traits, _Alloc", string.Join(", ", new[] { typeof(_CharT).FullName, typeof(_Traits).FullName, typeof(_Alloc).FullName }), "global::Std.BasicString<_CharT, _Traits, _Alloc> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: , global::Std.Allocator>."); } if (__ownsNativeInstance) - Marshal.FreeHGlobal(__Instance); + __NativeMemory.AlignedFree((void*)__Instance); __Instance = IntPtr.Zero; } } diff --git a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std-symbols.cpp b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std-symbols.cpp index 682e399117..2b400d4c0e 100644 --- a/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std-symbols.cpp +++ b/src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std-symbols.cpp @@ -1,5 +1,6 @@ #define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS #define _LIBCPP_HIDE_FROM_ABI +#define _LIBCPP_NO_ABI_TAG #include #include diff --git a/src/CppParser/Comments.cpp b/src/CppParser/Comments.cpp index 2883582668..a934b782cb 100644 --- a/src/CppParser/Comments.cpp +++ b/src/CppParser/Comments.cpp @@ -41,8 +41,8 @@ RawComment* Parser::WalkRawComment(const clang::RawComment* RC) auto& SM = c->getSourceManager(); auto Comment = new RawComment(); Comment->kind = ConvertRawCommentKind(RC->getKind()); - Comment->text = RC->getRawText(SM).str(); - Comment->briefText = RC->getBriefText(c->getASTContext()); + Comment->Text = RC->getRawText(SM).str(); + Comment->BriefText = RC->getBriefText(c->getASTContext()); return Comment; } @@ -96,7 +96,7 @@ static void HandleBlockCommand(const clang::comments::BlockCommandComment *CK, for (unsigned I = 0, E = CK->getNumArgs(); I != E; ++I) { auto Arg = BlockCommandComment::Argument(); - Arg.text = CK->getArgText(I).str(); + Arg.Text = CK->getArgText(I).str(); BC->Arguments.push_back(Arg); } } @@ -174,7 +174,7 @@ static Comment* ConvertCommentBlock(clang::comments::Comment* C) auto CK = cast(C); auto VL = new VerbatimLineComment(); _Comment = VL; - VL->text = CK->getText().str(); + VL->Text = CK->getText().str(); break; } case Comment::ParagraphCommentKind: @@ -196,13 +196,13 @@ static Comment* ConvertCommentBlock(clang::comments::Comment* C) auto TC = new HTMLStartTagComment(); _Comment = TC; HandleInlineContent(CK, TC); - TC->tagName = CK->getTagName().str(); + TC->TagName = CK->getTagName().str(); for (unsigned I = 0, E = CK->getNumAttrs(); I != E; ++I) { auto A = CK->getAttr(I); auto Attr = HTMLStartTagComment::Attribute(); - Attr.name = A.Name.str(); - Attr.value = A.Value.str(); + Attr.Name = A.Name.str(); + Attr.Value = A.Value.str(); TC->Attributes.push_back(Attr); } break; @@ -213,7 +213,7 @@ static Comment* ConvertCommentBlock(clang::comments::Comment* C) auto TC = new HTMLEndTagComment(); _Comment = TC; HandleInlineContent(CK, TC); - TC->tagName = CK->getTagName().str(); + TC->TagName = CK->getTagName().str(); break; } case Comment::TextCommentKind: @@ -222,7 +222,7 @@ static Comment* ConvertCommentBlock(clang::comments::Comment* C) auto TC = new TextComment(); _Comment = TC; HandleInlineContent(CK, TC); - TC->text = CK->getText().str(); + TC->Text = CK->getText().str(); break; } case Comment::InlineCommandCommentKind: @@ -236,7 +236,7 @@ static Comment* ConvertCommentBlock(clang::comments::Comment* C) for (unsigned I = 0, E = CK->getNumArgs(); I != E; ++I) { auto Arg = InlineCommandComment::Argument(); - Arg.text = CK->getArgText(I).str(); + Arg.Text = CK->getArgText(I).str(); IC->Arguments.push_back(Arg); } break; @@ -246,7 +246,7 @@ static Comment* ConvertCommentBlock(clang::comments::Comment* C) auto CK = cast(C); auto VL = new VerbatimBlockLineComment(); _Comment = VL; - VL->text = CK->getText().str(); + VL->Text = CK->getText().str(); break; } case Comment::NoCommentKind: return nullptr; diff --git a/src/CppParser/CppParser.cpp b/src/CppParser/CppParser.cpp index d6c1f7b36a..276bf0a8b4 100644 --- a/src/CppParser/CppParser.cpp +++ b/src/CppParser/CppParser.cpp @@ -23,16 +23,19 @@ CppParserOptions::CppParserOptions() , skipPrivateDeclarations(true) , skipLayoutInfo(false) , skipFunctionBodies(true) - , clangVersion(CLANG_VERSION_STRING) { } CppParserOptions::~CppParserOptions() {} -std::string CppParserOptions::getClangVersion() { return clangVersion; } +const char * CppParserOptions::getClangVersion() +{ + return CLANG_VERSION_STRING; +} DEF_VECTOR_STRING(CppParserOptions, Arguments) DEF_VECTOR_STRING(CppParserOptions, CompilationOptions) +DEF_STRING(CppParserOptions, LibraryFile) DEF_VECTOR_STRING(CppParserOptions, SourceFiles) DEF_VECTOR_STRING(CppParserOptions, IncludeDirs) DEF_VECTOR_STRING(CppParserOptions, SystemIncludeDirs) @@ -40,6 +43,8 @@ DEF_VECTOR_STRING(CppParserOptions, Defines) DEF_VECTOR_STRING(CppParserOptions, Undefines) DEF_VECTOR_STRING(CppParserOptions, SupportedStdTypes) DEF_VECTOR_STRING(CppParserOptions, SupportedFunctionTemplates) +DEF_STRING(CppParserOptions, TargetTriple) +DEF_STRING(ParserTargetInfo, ABI) ParserResult::ParserResult() : targetInfo(0) @@ -77,8 +82,8 @@ DEF_VECTOR_STRING(CppLinkerOptions, Libraries) ParserDiagnostic::ParserDiagnostic() {} ParserDiagnostic::ParserDiagnostic(const ParserDiagnostic& rhs) - : fileName(rhs.fileName) - , message(rhs.message) + : FileName(rhs.FileName) + , Message(rhs.Message) , level(rhs.level) , lineNumber(rhs.lineNumber) , columnNumber(rhs.columnNumber) @@ -86,4 +91,7 @@ ParserDiagnostic::ParserDiagnostic(const ParserDiagnostic& rhs) ParserDiagnostic::~ParserDiagnostic() {} +DEF_STRING(ParserDiagnostic, FileName) +DEF_STRING(ParserDiagnostic, Message) + } } \ No newline at end of file diff --git a/src/CppParser/CppParser.h b/src/CppParser/CppParser.h index f0e479cfd9..17c515e80a 100644 --- a/src/CppParser/CppParser.h +++ b/src/CppParser/CppParser.h @@ -23,10 +23,12 @@ struct CS_API CppParserOptions CppParserOptions(); ~CppParserOptions(); - std::string getClangVersion(); + static const char * getClangVersion(); VECTOR_STRING(Arguments) VECTOR_STRING(CompilationOptions) + + STRING(LibraryFile) // C/C++ header file names. VECTOR_STRING(SourceFiles) @@ -41,7 +43,8 @@ struct CS_API CppParserOptions CppSharp::CppParser::AST::ASTContext* ASTContext; int toolSetToUse; - std::string targetTriple; + STRING(TargetTriple) + CppAbi abi; bool noStandardIncludes; bool noBuiltinIncludes; @@ -51,9 +54,6 @@ struct CS_API CppParserOptions bool skipPrivateDeclarations; bool skipLayoutInfo; bool skipFunctionBodies; - -private: - std::string clangVersion; }; struct CS_API CppLinkerOptions @@ -80,8 +80,8 @@ struct CS_API ParserDiagnostic ParserDiagnostic(); ParserDiagnostic(const ParserDiagnostic&); ~ParserDiagnostic(); - std::string fileName; - std::string message; + STRING(FileName) + STRING(Message) ParserDiagnosticLevel level { ParserDiagnosticLevel::Ignored }; int lineNumber {0}; int columnNumber {0}; @@ -124,10 +124,10 @@ class CS_API ClangParser static ParserResult* ParseHeader(CppParserOptions* Opts); static ParserResult* ParseLibrary(CppLinkerOptions* Opts); static ParserResult* Build(CppParserOptions* Opts, - const CppLinkerOptions* LinkerOptions, const std::string& File, bool Last); - static ParserResult* Compile(CppParserOptions* Opts, const std::string& File); + const CppLinkerOptions* LinkerOptions, const char * File, bool Last); + static ParserResult* Compile(CppParserOptions* Opts, const char * File); static ParserResult* Link(CppParserOptions* Opts, - const CppLinkerOptions* LinkerOptions, const std::string& File, bool Last); + const CppLinkerOptions* LinkerOptions, const char * File, bool Last); }; } } \ No newline at end of file diff --git a/src/CppParser/Decl.h b/src/CppParser/Decl.h index 99c972eb08..cfd49f16ec 100644 --- a/src/CppParser/Decl.h +++ b/src/CppParser/Decl.h @@ -84,9 +84,9 @@ namespace CppSharp SourceLocation location; int lineNumberStart; int lineNumberEnd; - std::string name; - std::string USR; - std::string debugText; + STRING(Name); + STRING(USR); + STRING(DebugText); bool isIncomplete; bool isDependent; bool isImplicit; @@ -207,16 +207,16 @@ namespace CppSharp class CS_API StatementObsolete { public: - StatementObsolete(const std::string &str, StatementClassObsolete Class = StatementClassObsolete::Any, Declaration *decl = 0); + CS_IGNORE StatementObsolete(const std::string &str, StatementClassObsolete Class = StatementClassObsolete::Any, Declaration *decl = 0); StatementClassObsolete _class; Declaration *decl; - std::string string; + STRING(String); }; class CS_API ExpressionObsolete : public StatementObsolete { public: - ExpressionObsolete(const std::string &str, StatementClassObsolete Class = StatementClassObsolete::Any, Declaration *decl = 0); + CS_IGNORE ExpressionObsolete(const std::string &str, StatementClassObsolete Class = StatementClassObsolete::Any, Declaration *decl = 0); }; class Expr; @@ -224,17 +224,17 @@ namespace CppSharp class CS_API BinaryOperatorObsolete : public ExpressionObsolete { public: - BinaryOperatorObsolete(const std::string &str, ExpressionObsolete *lhs, ExpressionObsolete *rhs, const std::string &opcodeStr); + CS_IGNORE BinaryOperatorObsolete(const std::string &str, ExpressionObsolete *lhs, ExpressionObsolete *rhs, const std::string &opcodeStr); ~BinaryOperatorObsolete(); ExpressionObsolete *LHS; ExpressionObsolete *RHS; - std::string opcodeStr; + STRING(OpcodeStr); }; class CS_API CallExprObsolete : public ExpressionObsolete { public: - CallExprObsolete(const std::string &str, Declaration *decl); + CS_IGNORE CallExprObsolete(const std::string &str, Declaration *decl); ~CallExprObsolete(); VECTOR(ExpressionObsolete *, Arguments) }; @@ -242,7 +242,7 @@ namespace CppSharp class CS_API CXXConstructExprObsolete : public ExpressionObsolete { public: - CXXConstructExprObsolete(const std::string &str, Declaration *decl = 0); + CS_IGNORE CXXConstructExprObsolete(const std::string &str, Declaration *decl = 0); ~CXXConstructExprObsolete(); VECTOR(ExpressionObsolete *, Arguments) }; @@ -350,9 +350,9 @@ namespace CppSharp bool isDefaulted; FriendKind friendKind; CXXOperatorKind operatorKind; - std::string mangled; - std::string signature; - std::string body; + STRING(Mangled); + STRING(Signature); + STRING(Body); Stmt *bodyStmt; CallingConvention callingConvention; VECTOR(Parameter *, Parameters) @@ -405,7 +405,7 @@ namespace CppSharp DECLARE_DECL_KIND(Item, EnumerationItem) Item(const Item &); ~Item(); - std::string expression; + STRING(Expression); uint64_t value; }; @@ -421,7 +421,7 @@ namespace CppSharp BuiltinType *builtinType; VECTOR(Item *, Items) - Item *FindItemByName(const std::string &Name); + CS_IGNORE Item *FindItemByName(const std::string &Name); }; class CS_API Variable : public Declaration @@ -430,7 +430,7 @@ namespace CppSharp DECLARE_DECL_KIND(Variable, Variable) ~Variable(); bool isConstExpr; - std::string mangled; + STRING(Mangled); QualifiedType qualifiedType; ExpressionObsolete *initializer; }; @@ -522,7 +522,7 @@ namespace CppSharp LayoutField(const LayoutField &other); ~LayoutField(); unsigned offset; - std::string name; + STRING(Name); QualifiedType qualifiedType; void *fieldPtr; }; @@ -537,6 +537,9 @@ namespace CppSharp ~LayoutBase(); unsigned offset; Class *_class; +#ifdef __aarch64__ + unsigned padding; +#endif }; enum class RecordArgABI @@ -688,8 +691,8 @@ namespace CppSharp ClassTemplate(); ~ClassTemplate(); VECTOR(ClassTemplateSpecialization *, Specializations) - ClassTemplateSpecialization *FindSpecialization(const std::string &usr); - ClassTemplatePartialSpecialization *FindPartialSpecialization(const std::string &usr); + CS_IGNORE ClassTemplateSpecialization *FindSpecialization(const std::string &usr); + CS_IGNORE ClassTemplatePartialSpecialization *FindPartialSpecialization(const std::string &usr); }; enum class TemplateSpecializationKind @@ -725,7 +728,7 @@ namespace CppSharp FunctionTemplate(); ~FunctionTemplate(); VECTOR(FunctionTemplateSpecialization *, Specializations) - FunctionTemplateSpecialization *FindSpecialization(const std::string &usr); + CS_IGNORE FunctionTemplateSpecialization *FindSpecialization(const std::string &usr); }; class CS_API FunctionTemplateSpecialization @@ -748,8 +751,8 @@ namespace CppSharp VarTemplate(); ~VarTemplate(); VECTOR(VarTemplateSpecialization *, Specializations) - VarTemplateSpecialization *FindSpecialization(const std::string &usr); - VarTemplatePartialSpecialization *FindPartialSpecialization(const std::string &usr); + CS_IGNORE VarTemplateSpecialization *FindSpecialization(const std::string &usr); + CS_IGNORE VarTemplatePartialSpecialization *FindPartialSpecialization(const std::string &usr); }; class CS_API VarTemplateSpecialization : public Variable @@ -808,8 +811,8 @@ namespace CppSharp public: MacroDefinition(); ~MacroDefinition(); - std::string name; - std::string expression; + STRING(Name); + STRING(Expression); int lineNumberStart; int lineNumberEnd; }; @@ -819,8 +822,8 @@ namespace CppSharp public: MacroExpansion(); ~MacroExpansion(); - std::string name; - std::string text; + STRING(Name); + STRING(Text); MacroDefinition *definition; }; @@ -829,7 +832,7 @@ namespace CppSharp public: TranslationUnit(); ~TranslationUnit(); - std::string fileName; + STRING(FileName); bool isSystemHeader; VECTOR(MacroDefinition *, Macros) }; diff --git a/src/CppParser/Expr.cpp b/src/CppParser/Expr.cpp index 8c8226389e..0cb8ea1890 100644 --- a/src/CppParser/Expr.cpp +++ b/src/CppParser/Expr.cpp @@ -131,6 +131,9 @@ ImaginaryLiteral::ImaginaryLiteral() { } +DEF_STRING(StringLiteral, String) +DEF_STRING(StringLiteral, Bytes) + StringLiteral::StringLiteral() : Expr(StmtClass::StringLiteral) , byteLength(0) @@ -314,6 +317,8 @@ CStyleCastExpr::CStyleCastExpr() { } +DEF_STRING(BinaryOperator, OpcodeStr) + BinaryOperator::BinaryOperator() : Expr(StmtClass::BinaryOperator) , operatorLoc(SourceLocation()) @@ -722,6 +727,8 @@ MSPropertySubscriptExpr::MSPropertySubscriptExpr() { } +DEF_STRING(CXXUuidofExpr, UuidStr) + CXXUuidofExpr::CXXUuidofExpr() : Expr(StmtClass::CXXUuidofExpr) , exprOperand(nullptr) diff --git a/src/CppParser/Expr.h b/src/CppParser/Expr.h index 1920f261ba..2b99580c39 100644 --- a/src/CppParser/Expr.h +++ b/src/CppParser/Expr.h @@ -7,6 +7,7 @@ #pragma once +#include "Helpers.h" #include "Sources.h" #include "Types.h" #include "Stmt.h" @@ -438,8 +439,8 @@ class CS_API StringLiteral : public Expr }; StringLiteral(); - std::string string; - std::string bytes; + STRING(String); + STRING(Bytes); unsigned int byteLength; unsigned int length; unsigned int charByteWidth; @@ -630,7 +631,7 @@ class CS_API BinaryOperator : public Expr BinaryOperatorKind opcode; Expr* lHS; Expr* rHS; - std::string opcodeStr; + STRING(OpcodeStr); bool isPtrMemOp; bool isMultiplicativeOp; bool isAdditiveOp; @@ -1116,7 +1117,7 @@ class CS_API CXXUuidofExpr : public Expr public: CXXUuidofExpr(); Expr* exprOperand; - std::string uuidStr; + STRING(UuidStr); bool isTypeOperand; }; diff --git a/src/CppParser/Helpers.h b/src/CppParser/Helpers.h index 1efc611dd4..20dee31da2 100644 --- a/src/CppParser/Helpers.h +++ b/src/CppParser/Helpers.h @@ -53,3 +53,13 @@ void klass::add##name (const char* s) { return name.push_back(std::string(s)); } \ unsigned klass::get##name##Count () { return name.size(); } \ void klass::clear##name() { name.clear(); } + +#define STRING(name) \ + std::string name; \ + const char* get##name(); \ + void set##name(const char* s); + +#define DEF_STRING(klass, name) \ + const char* klass::get##name() { return name.c_str(); } \ + void klass::set##name(const char* s) { name = s; } + diff --git a/src/CppParser/Link.cpp b/src/CppParser/Link.cpp index 46d066218f..5df35bfffe 100644 --- a/src/CppParser/Link.cpp +++ b/src/CppParser/Link.cpp @@ -18,7 +18,7 @@ LLD_HAS_DRIVER(macho) using namespace CppSharp::CppParser; -bool Parser::Link(const std::string& File, const CppLinkerOptions* LinkerOptions) +bool Parser::Link(const char * File, const CppLinkerOptions* LinkerOptions) { std::vector args; llvm::StringRef Dir(llvm::sys::path::parent_path(File)); diff --git a/src/CppParser/ParseExpr.cpp b/src/CppParser/ParseExpr.cpp index 27639a3d48..55b9fddaa6 100644 --- a/src/CppParser/ParseExpr.cpp +++ b/src/CppParser/ParseExpr.cpp @@ -217,8 +217,8 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) _S->sourceBitField = static_cast(WalkDeclaration(S->getSourceBitField())); _S->referencedDeclOfCallee = static_cast(WalkDeclaration(S->getReferencedDeclOfCallee())); _S->hasPlaceholderType = S->hasPlaceholderType(); - _S->string = S->getString().str(); - _S->bytes = S->getBytes().str(); + _S->String = S->getString(); + _S->Bytes = S->getBytes(); _S->byteLength = S->getByteLength(); _S->length = S->getLength(); _S->charByteWidth = S->getCharByteWidth(); @@ -537,7 +537,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) _S->opcode = (BinaryOperatorKind) S->getOpcode(); _S->lHS = static_cast(WalkExpression(S->getLHS())); _S->rHS = static_cast(WalkExpression(S->getRHS())); - _S->opcodeStr = S->getOpcodeStr().str(); + _S->OpcodeStr = S->getOpcodeStr(); _S->isPtrMemOp = S->isPtrMemOp(); _S->isMultiplicativeOp = S->isMultiplicativeOp(); _S->isAdditiveOp = S->isAdditiveOp(); @@ -575,7 +575,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) _S->opcode = (BinaryOperatorKind) S->getOpcode(); _S->lHS = static_cast(WalkExpression(S->getLHS())); _S->rHS = static_cast(WalkExpression(S->getRHS())); - _S->opcodeStr = S->getOpcodeStr().str(); + _S->OpcodeStr = S->getOpcodeStr(); _S->isPtrMemOp = S->isPtrMemOp(); _S->isMultiplicativeOp = S->isMultiplicativeOp(); _S->isAdditiveOp = S->isAdditiveOp(); @@ -1552,7 +1552,7 @@ AST::Expr* Parser::WalkExpression(const clang::Expr* Expr) _S->referencedDeclOfCallee = static_cast(WalkDeclaration(S->getReferencedDeclOfCallee())); _S->hasPlaceholderType = S->hasPlaceholderType(); _S->exprOperand = static_cast(WalkExpression(S->getExprOperand())); - _S->uuidStr = S->getGuidDecl()->getNameAsString(); + _S->UuidStr = S->getGuidDecl()->getNameAsString(); _S->isTypeOperand = S->isTypeOperand(); _Expr = _S; break; diff --git a/src/CppParser/ParseStmt.cpp b/src/CppParser/ParseStmt.cpp index c7eed096f6..5defa11ba3 100644 --- a/src/CppParser/ParseStmt.cpp +++ b/src/CppParser/ParseStmt.cpp @@ -244,7 +244,7 @@ AST::Stmt* Parser::WalkStatement(const clang::Stmt* Stmt) } _S->hasBraces = S->hasBraces(); _S->numAsmToks = S->getNumAsmToks(); - _S->asmString = S->getAsmString().str(); + _S->AsmString = S->getAsmString(); _Stmt = _S; break; } diff --git a/src/CppParser/Parser.cpp b/src/CppParser/Parser.cpp index ac6fbf5de4..cb23d9cd90 100644 --- a/src/CppParser/Parser.cpp +++ b/src/CppParser/Parser.cpp @@ -85,7 +85,7 @@ LayoutField Parser::WalkVTablePointer(Class* Class, { LayoutField LayoutField; LayoutField.offset = Offset.getQuantity(); - LayoutField.name = prefix + "_" + Class->name; + LayoutField.Name = prefix + "_" + Class->Name; LayoutField.qualifiedType = GetQualifiedType(c->getASTContext().VoidPtrTy); return LayoutField; } @@ -189,7 +189,7 @@ void Parser::ReadClassLayout(Class* Class, const clang::RecordDecl* RD, auto F = WalkFieldCXX(Field, Parent); LayoutField LayoutField; LayoutField.offset = FieldOffset.getQuantity(); - LayoutField.name = F->name; + LayoutField.Name = F->Name; LayoutField.qualifiedType = GetQualifiedType(Field->getType()); LayoutField.fieldPtr = (void*)Field; Class->layout->Fields.push_back(LayoutField); @@ -285,9 +285,9 @@ void Parser::Setup(bool Compile) auto& TO = Inv->TargetOpts; - if (opts->targetTriple.empty()) - opts->targetTriple = llvm::sys::getDefaultTargetTriple(); - TO->Triple = llvm::Triple::normalize(opts->targetTriple); + if (opts->TargetTriple.empty()) + opts->TargetTriple = llvm::sys::getDefaultTargetTriple(); + TO->Triple = llvm::Triple::normalize(opts->TargetTriple); if (opts->verbose) printf("Target triple: %s\n", TO->Triple.c_str()); @@ -297,8 +297,8 @@ void Parser::Setup(bool Compile) { // We might have no target info due to an invalid user-provided triple. // Try again with the default triple. - opts->targetTriple = llvm::sys::getDefaultTargetTriple(); - TO->Triple = llvm::Triple::normalize(opts->targetTriple); + opts->TargetTriple = llvm::sys::getDefaultTargetTriple(); + TO->Triple = llvm::Triple::normalize(opts->TargetTriple); TI = TargetInfo::CreateTargetInfo(c->getDiagnostics(), TO); } @@ -1258,7 +1258,7 @@ Parser::WalkClassTemplateSpecialization(const clang::ClassTemplateSpecialization auto NS = GetNamespace(CTS); assert(NS && "Expected a valid namespace"); TS->_namespace = NS; - TS->name = CTS->getName().str(); + TS->Name = CTS->getName().str(); TS->templatedDecl = CT; TS->specializationKind = WalkTemplateSpecializationKind(CTS->getSpecializationKind()); CT->Specializations.push_back(TS); @@ -1313,7 +1313,7 @@ Parser::WalkClassTemplatePartialSpecialization(const clang::ClassTemplatePartial auto NS = GetNamespace(CTS); assert(NS && "Expected a valid namespace"); TS->_namespace = NS; - TS->name = CTS->getName().str(); + TS->Name = CTS->getName(); TS->templatedDecl = CT; TS->specializationKind = WalkTemplateSpecializationKind(CTS->getSpecializationKind()); CT->Specializations.push_back(TS); @@ -1377,7 +1377,7 @@ ClassTemplate* Parser::WalkClassTemplate(const clang::ClassTemplateDecl* TD) CT = new ClassTemplate(); HandleDeclaration(TD, CT); - CT->name = GetDeclName(TD); + CT->Name = GetDeclName(TD); CT->_namespace = NS; NS->Templates.push_back(CT); @@ -1425,7 +1425,7 @@ TypeTemplateParameter* Parser::WalkTypeTemplateParameter(const clang::TemplateTy return TP; TP = new CppSharp::CppParser::TypeTemplateParameter(); - TP->name = GetDeclName(TTPD); + TP->Name = GetDeclName(TTPD); HandleDeclaration(TTPD, TP); if (TTPD->hasDefaultArgument()) TP->defaultArgument = GetQualifiedType(TTPD->getDefaultArgument()); @@ -1445,7 +1445,7 @@ NonTypeTemplateParameter* Parser::WalkNonTypeTemplateParameter(const clang::NonT return NTP; NTP = new CppSharp::CppParser::NonTypeTemplateParameter(); - NTP->name = GetDeclName(NTTPD); + NTP->Name = GetDeclName(NTTPD); HandleDeclaration(NTTPD, NTP); if (NTTPD->hasDefaultArgument()) NTP->defaultArgument = WalkExpressionObsolete(NTTPD->getDefaultArgument()); @@ -1606,7 +1606,7 @@ TypeAliasTemplate* Parser::WalkTypeAliasTemplate( TA = new TypeAliasTemplate(); HandleDeclaration(TD, TA); - TA->name = GetDeclName(TD); + TA->Name = GetDeclName(TD); NS->Templates.push_back(TA); TA->TemplatedDecl = WalkDeclaration(TD->getTemplatedDecl()); @@ -1644,7 +1644,7 @@ FunctionTemplate* Parser::WalkFunctionTemplate(const clang::FunctionTemplateDecl FT = new FunctionTemplate(); HandleDeclaration(TD, FT); - FT->name = GetDeclName(TD); + FT->Name = GetDeclName(TD); FT->_namespace = NS; FT->TemplatedDecl = F; FT->Parameters = WalkTemplateParameterList(TD->getTemplateParameters()); @@ -1718,7 +1718,7 @@ VarTemplate* Parser::WalkVarTemplate(const clang::VarTemplateDecl* TD) VT = new VarTemplate(); HandleDeclaration(TD, VT); - VT->name = GetDeclName(TD); + VT->Name = GetDeclName(TD); VT->_namespace = NS; NS->Templates.push_back(VT); @@ -1746,7 +1746,7 @@ Parser::WalkVarTemplateSpecialization(const clang::VarTemplateSpecializationDecl auto NS = GetNamespace(VTS); assert(NS && "Expected a valid namespace"); TS->_namespace = NS; - TS->name = VTS->getName().str(); + TS->Name = VTS->getName(); TS->templatedDecl = VT; TS->specializationKind = WalkTemplateSpecializationKind(VTS->getSpecializationKind()); VT->Specializations.push_back(TS); @@ -1786,7 +1786,7 @@ Parser::WalkVarTemplatePartialSpecialization(const clang::VarTemplatePartialSpec auto NS = GetNamespace(VTS); assert(NS && "Expected a valid namespace"); TS->_namespace = NS; - TS->name = VTS->getName().str(); + TS->Name = VTS->getName(); TS->templatedDecl = VT; TS->specializationKind = WalkTemplateSpecializationKind(VTS->getSpecializationKind()); VT->Specializations.push_back(TS); @@ -1963,7 +1963,7 @@ Field* Parser::WalkFieldCXX(const clang::FieldDecl* FD, Class* Class) HandleDeclaration(FD, F); F->_namespace = Class; - F->name = FD->getName().str(); + F->Name = FD->getName(); auto TL = FD->getTypeSourceInfo()->getTypeLoc(); F->qualifiedType = GetQualifiedType(FD->getType(), &TL); F->access = ConvertToAccess(FD->getAccess()); @@ -2589,7 +2589,7 @@ Type* Parser::WalkType(clang::QualType QualType, const clang::TypeLoc* TL, { auto FA = new Parameter(); auto Arg = FP->getParamType(i); - FA->name = ""; + FA->Name = ""; FA->qualifiedType = GetQualifiedType(Arg); // In this case we have no valid value to use as a pointer so @@ -2724,7 +2724,7 @@ Type* Parser::WalkType(clang::QualType QualType, const clang::TypeLoc* TL, auto TPT = new CppSharp::CppParser::TemplateParameterType(); if (auto Ident = TP->getIdentifier()) - TPT->parameter->name = Ident->getName().str(); + TPT->parameter->Name = Ident->getName(); TypeLoc UTL, ETL, ITL, Next; @@ -2825,7 +2825,7 @@ Type* Parser::WalkType(clang::QualType QualType, const clang::TypeLoc* TL, } default: break; } - DNT->identifier = DN->getIdentifier()->getName().str(); + DNT->Identifier = DN->getIdentifier()->getName(); Ty = DNT; break; @@ -2976,7 +2976,7 @@ Enumeration* Parser::WalkEnum(const clang::EnumDecl* ED) else { E = new Enumeration(); - E->name = Name; + E->Name = Name; E->_namespace = NS; NS->Enums.push_back(E); } @@ -3013,7 +3013,7 @@ Enumeration::Item* Parser::WalkEnumItem(clang::EnumConstantDecl* ECD) auto EnumItem = new Enumeration::Item(); HandleDeclaration(ECD, EnumItem); - EnumItem->name = ECD->getNameAsString(); + EnumItem->Name = ECD->getNameAsString(); auto Value = ECD->getInitVal(); EnumItem->value = Value.isSigned() ? Value.getSExtValue() : Value.getZExtValue(); @@ -3021,7 +3021,7 @@ Enumeration::Item* Parser::WalkEnumItem(clang::EnumConstantDecl* ECD) std::string Text; if (GetDeclText(ECD->getSourceRange(), Text)) - EnumItem->expression = Text; + EnumItem->Expression = Text; return EnumItem; } @@ -3153,7 +3153,7 @@ Parameter* Parser::WalkParameter(const clang::ParmVarDecl* PVD, return P; P = new Parameter(); - P->name = PVD->getNameAsString(); + P->Name = PVD->getNameAsString(); TypeLoc PTL; if (auto TSI = PVD->getTypeSourceInfo()) @@ -3188,16 +3188,16 @@ Parameter* Parser::WalkParameter(const clang::ParmVarDecl* PVD, void Parser::SetBody(const clang::FunctionDecl* FD, Function* F) { - F->body = GetFunctionBody(FD); + F->Body = GetFunctionBody(FD); F->isInline = FD->isInlined(); - if (!F->body.empty() && F->isInline) + if (!F->Body.empty() && F->isInline) return; for (const auto& R : FD->redecls()) { - if (F->body.empty()) - F->body = GetFunctionBody(R); + if (F->Body.empty()) + F->Body = GetFunctionBody(R); F->isInline |= R->isInlined(); - if (!F->body.empty() && F->isInline) + if (!F->Body.empty() && F->isInline) break; } } @@ -3293,7 +3293,7 @@ void Parser::WalkFunction(const clang::FunctionDecl* FD, Function* F) auto NS = GetNamespace(FD); assert(NS && "Expected a valid namespace"); - F->name = FD->getNameAsString(); + F->Name = FD->getNameAsString(); F->_namespace = NS; F->isConstExpr = FD->isConstexpr(); F->isVariadic = FD->isVariadic(); @@ -3338,10 +3338,10 @@ void Parser::WalkFunction(const clang::FunctionDecl* FD, Function* F) F->returnType = GetQualifiedType(ReturnType, &RTL); const auto& Mangled = GetDeclMangledName(FD); - F->mangled = Mangled; + F->Mangled = Mangled; const auto& Body = GetFunctionBody(FD); - F->body = Body; + F->Body = Body; clang::SourceLocation ParamStartLoc = FD->getBeginLoc(); clang::SourceLocation ResultLoc; @@ -3371,7 +3371,7 @@ void Parser::WalkFunction(const clang::FunctionDecl* FD, Function* F) std::string Sig; if (GetDeclText(Range, Sig)) - F->signature = Sig; + F->Signature = Sig; for (auto VD : FD->parameters()) { @@ -3501,7 +3501,7 @@ void Parser::WalkVariable(const clang::VarDecl* VD, Variable* Var) HandleDeclaration(VD, Var); Var->isConstExpr = VD->isConstexpr(); - Var->name = VD->getName().str(); + Var->Name = VD->getName(); Var->access = ConvertToAccess(VD->getAccess()); auto Init = VD->getAnyInitializer(); @@ -3512,7 +3512,7 @@ void Parser::WalkVariable(const clang::VarDecl* VD, Variable* Var) Var->qualifiedType = GetQualifiedType(VD->getType(), &TL); auto Mangled = GetDeclMangledName(VD); - Var->mangled = Mangled; + Var->Mangled = Mangled; } Variable* Parser::WalkVariable(const clang::VarDecl *VD) @@ -3615,7 +3615,7 @@ PreprocessedEntity* Parser::WalkPreprocessedEntity( std::string Text; GetDeclText(PPEntity->getSourceRange(), Text); - static_cast(Entity)->text = Text; + static_cast(Entity)->Text = Text; break; } case clang::PreprocessedEntity::MacroDefinitionKind: @@ -3659,8 +3659,8 @@ PreprocessedEntity* Parser::WalkPreprocessedEntity( Definition->lineNumberEnd = SM.getExpansionLineNumber(MD->getLocation()); Entity = Definition; - Definition->name = II->getName().trim().str(); - Definition->expression = Expression.trim().str(); + Definition->Name = II->getName().trim(); + Definition->Expression = Expression.trim(); } case clang::PreprocessedEntity::InclusionDirectiveKind: // nothing to be done for InclusionDirectiveKind @@ -3710,7 +3710,7 @@ AST::ExpressionObsolete* Parser::WalkExpressionObsolete(const clang::Expr* Expr) auto BinaryOperator = cast(Expr); return new AST::BinaryOperatorObsolete(GetStringFromStatement(Expr), WalkExpressionObsolete(BinaryOperator->getLHS()), WalkExpressionObsolete(BinaryOperator->getRHS()), - BinaryOperator->getOpcodeStr().str()); + BinaryOperator->getOpcodeStr().str().c_str()); } case clang::Stmt::CallExprClass: { @@ -3930,7 +3930,7 @@ void Parser::HandleOriginalText(const clang::Decl* D, Declaration* Decl) auto DeclText = clang::Lexer::getSourceText(Range, SM, LangOpts, &Invalid); if (!Invalid) - Decl->debugText = DeclText.str(); + Decl->DebugText = DeclText; } void Parser::HandleDeclaration(const clang::Decl* D, Declaration* Decl) @@ -4339,8 +4339,8 @@ void Parser::HandleDiagnostics(ParserResult* res) auto FileName = Source.getFilename(Source.getFileLoc(Diag.Location)); auto PDiag = ParserDiagnostic(); - PDiag.fileName = FileName.str(); - PDiag.message = Diag.Message.str().str(); + PDiag.FileName = FileName.str(); + PDiag.Message = Diag.Message.str(); PDiag.lineNumber = 0; PDiag.columnNumber = 0; @@ -4510,7 +4510,7 @@ ParserResultKind Parser::ParseArchive(const std::string& File, std::vector& NativeLibs) { auto NativeLib = new NativeLibrary(); - NativeLib->fileName = File; + NativeLib->FileName = File; for (const auto& Symbol : Archive->symbols()) { @@ -4547,7 +4547,7 @@ ParserResultKind Parser::ParseSharedLib(const std::string& File, std::vector& NativeLibs) { auto NativeLib = new NativeLibrary(); - NativeLib->fileName = File; + NativeLib->FileName = File; NativeLib->archType = ConvertArchType(ObjectFile->getArch()); NativeLibs.push_back(NativeLib); @@ -4645,7 +4645,7 @@ ParserResultKind Parser::ReadSymbols(llvm::StringRef File, { auto LibName = File; NativeLib = new NativeLibrary(); - NativeLib->fileName = LibName.str(); + NativeLib->FileName = LibName; for (auto it = Begin; it != End; ++it) { @@ -4714,8 +4714,8 @@ ParserResult* Parser::ParseLibrary(const CppLinkerOptions* Opts) { auto ErrMsg = llvm::toString(BinaryOrErr.takeError()); auto Diag = ParserDiagnostic(); - Diag.fileName = FileEntry; - Diag.message = ErrMsg; + Diag.FileName = FileEntry; + Diag.Message = ErrMsg; Diag.level = ParserDiagnosticLevel::Error; res->Diagnostics.push_back(Diag); @@ -4743,7 +4743,7 @@ ParserResult* Parser::ParseLibrary(const CppLinkerOptions* Opts) return res; } -ParserResult* Parser::Build(const CppLinkerOptions* LinkerOptions, const std::string& File, bool Last) +ParserResult* Parser::Build(const CppLinkerOptions* LinkerOptions, const char * File, bool Last) { ParserResult* error = Compile(File); if (error) @@ -4806,7 +4806,7 @@ ParserResult* ClangParser::ParseLibrary(CppLinkerOptions* Opts) } ParserResult* ClangParser::Build(CppParserOptions* Opts, - const CppLinkerOptions* LinkerOptions, const std::string& File, bool Last) + const CppLinkerOptions* LinkerOptions, const char * File, bool Last) { if (!Opts) return 0; @@ -4816,7 +4816,7 @@ ParserResult* ClangParser::Build(CppParserOptions* Opts, } ParserResult* ClangParser::Compile(CppParserOptions* Opts, - const std::string& File) + const char * File) { if (!Opts) return 0; @@ -4826,7 +4826,7 @@ ParserResult* ClangParser::Compile(CppParserOptions* Opts, } ParserResult* ClangParser::Link(CppParserOptions* Opts, - const CppLinkerOptions* LinkerOptions, const std::string& File, bool Last) + const CppLinkerOptions* LinkerOptions, const char * File, bool Last) { if (!Opts) return 0; @@ -4848,7 +4848,7 @@ ParserResult* ClangParser::Link(CppParserOptions* Opts, return res; } -ParserResult* Parser::Compile(const std::string& File) +ParserResult* Parser::Compile(const char * File) { llvm::InitializeAllAsmPrinters(); llvm::StringRef Stem = llvm::sys::path::stem(File); diff --git a/src/CppParser/Parser.h b/src/CppParser/Parser.h index da0ddcc612..ca2f2b5776 100644 --- a/src/CppParser/Parser.h +++ b/src/CppParser/Parser.h @@ -56,9 +56,9 @@ class Parser void Setup(bool Compile = false); ParserResult* Parse(const std::vector& SourceFiles); static ParserResult* ParseLibrary(const CppLinkerOptions* Opts); - ParserResult* Build(const CppLinkerOptions* LinkerOptions, const std::string& File, bool Last); - ParserResult* Compile(const std::string& File); - bool Link(const std::string& File, const CppLinkerOptions* LinkerOptions); + ParserResult* Build(const CppLinkerOptions* LinkerOptions, const char * File, bool Last); + ParserResult* Compile(const char * File); + bool Link(const char * File, const CppLinkerOptions* LinkerOptions); void WalkAST(clang::TranslationUnitDecl* TU); void HandleDeclaration(const clang::Decl* D, Declaration* Decl); CppParserOptions* opts; diff --git a/src/CppParser/ParserGen/ParserGen.cs b/src/CppParser/ParserGen/ParserGen.cs index 48b0ab4af3..5c9b0703a7 100644 --- a/src/CppParser/ParserGen/ParserGen.cs +++ b/src/CppParser/ParserGen/ParserGen.cs @@ -4,6 +4,7 @@ using System.Linq; using CppSharp.AST; using CppSharp.Generators; +using CppSharp.Generators.C; using CppSharp.Parser; using CppSharp.Passes; using CppAbi = CppSharp.Parser.AST.CppAbi; @@ -120,6 +121,7 @@ private static void SetupMacOptions(ParserOptions options) public void SetupPasses(Driver driver) { + driver.AddTranslationUnitPass(new IgnoreStdFieldsPass()); } public void Preprocess(Driver driver, ASTContext ctx) @@ -166,24 +168,32 @@ public static void Main(string[] args) ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "x86_64-pc-win32-msvc")); Console.WriteLine(); } + else + { + Console.WriteLine("Skipping generation for Windows due to missing headers, only supported on Windows platform."); + } - var osxHeadersPath = Path.Combine(GetSourceDirectory("build"), @"headers\osx"); + var osxHeadersPath = Path.Combine(GetSourceDirectory("build"), @"headers", "osx"); if (Directory.Exists(osxHeadersPath) || Platform.IsMacOS) { - Console.WriteLine("Generating the C# parser bindings for OSX x86..."); - ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "i686-apple-darwin12.4.0")); + Console.WriteLine("Generating the C# parser bindings for macOS x86..."); + ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "i686-apple-darwin")); Console.WriteLine(); - Console.WriteLine("Generating the C# parser bindings for OSX x64..."); - ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "x86_64-apple-darwin12.4.0")); + Console.WriteLine("Generating the C# parser bindings for macOS x64..."); + ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "x86_64-apple-darwin")); Console.WriteLine(); - Console.WriteLine("Generating the C# parser bindings for OSX ARM64..."); - ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "arm64-apple-darwin12.4.0")); + Console.WriteLine("Generating the C# parser bindings for macOS ARM64..."); + ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "arm64-apple-darwin")); Console.WriteLine(); } + else + { + Console.WriteLine("Skipping generation for macOS due to missing headers."); + } - var linuxHeadersPath = Path.Combine(GetSourceDirectory("build"), @"headers\x86_64-linux-gnu"); + 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..."); @@ -204,6 +214,46 @@ public static void Main(string[] args) isGnuCpp11Abi: true)); Console.WriteLine(); } + else + { + Console.WriteLine("Skipping generation for Linux due to missing headers."); + } + } + } + + public class IgnoreStdFieldsPass : TranslationUnitPass + { + public override bool VisitFieldDecl(Field field) + { + if (!field.IsGenerated) + return false; + + if (!IsStdType(field.QualifiedType)) return false; + + field.ExplicitlyIgnore(); + return true; + } + + public override bool VisitFunctionDecl(Function function) + { + if (function.GenerationKind == GenerationKind.None) + return false; + + if (function.Parameters.Any(param => IsStdType(param.QualifiedType))) + { + function.ExplicitlyIgnore(); + return false; + } + + return true; + } + + private bool IsStdType(QualifiedType type) + { + var typePrinter = new CppTypePrinter(Context); + var typeName = type.Visit(typePrinter); + + return typeName.Type.Contains("std::"); } } } diff --git a/src/CppParser/Stmt.cpp b/src/CppParser/Stmt.cpp index d2700922a7..1ef076c3c1 100644 --- a/src/CppParser/Stmt.cpp +++ b/src/CppParser/Stmt.cpp @@ -228,6 +228,8 @@ DEF_VECTOR(AsmStmt, Expr*, inputs) DEF_VECTOR(AsmStmt, Expr*, outputs) +DEF_STRING(GCCAsmStmt::AsmStringPiece, String) + GCCAsmStmt::AsmStringPiece::AsmStringPiece() { } @@ -238,6 +240,8 @@ GCCAsmStmt::GCCAsmStmt() { } +DEF_STRING(MSAsmStmt, AsmString) + MSAsmStmt::MSAsmStmt() : AsmStmt(StmtClass::MSAsmStmt) , lBraceLoc(SourceLocation()) diff --git a/src/CppParser/Stmt.h b/src/CppParser/Stmt.h index 8a4313ddd7..e0b3f1ca3f 100644 --- a/src/CppParser/Stmt.h +++ b/src/CppParser/Stmt.h @@ -372,7 +372,7 @@ class CS_API GCCAsmStmt : public AsmStmt AsmStringPiece(); bool isString; bool isOperand; - std::string string; + STRING(String); unsigned int operandNo; char modifier; }; @@ -388,7 +388,7 @@ class CS_API MSAsmStmt : public AsmStmt SourceLocation lBraceLoc; bool hasBraces; unsigned int numAsmToks; - std::string asmString; + STRING(AsmString); }; class CS_API SEHExceptStmt : public Stmt diff --git a/src/CppParser/Target.h b/src/CppParser/Target.h index b2734eb624..d25baba032 100644 --- a/src/CppParser/Target.h +++ b/src/CppParser/Target.h @@ -30,7 +30,8 @@ struct CS_API ParserTargetInfo { ParserTargetInfo(); ~ParserTargetInfo(); - std::string ABI; + + STRING(ABI); ParserIntType char16Type; ParserIntType char32Type; diff --git a/src/CppParser/Types.h b/src/CppParser/Types.h index 69e11c0091..e5de12effb 100644 --- a/src/CppParser/Types.h +++ b/src/CppParser/Types.h @@ -45,6 +45,9 @@ class CS_API Type TypeKind kind; bool isDependent; +#ifdef __aarch64__ + unsigned padding; +#endif }; struct CS_API TypeQualifiers @@ -259,7 +262,7 @@ class CS_API DependentNameType : public Type DECLARE_TYPE_KIND(DependentName) ~DependentNameType(); QualifiedType qualifier; - std::string identifier; + STRING(Identifier); }; class CS_API PackExpansionType : public Type diff --git a/src/Generator/Generators/CSharp/CSharpSources.cs b/src/Generator/Generators/CSharp/CSharpSources.cs index d8152864fc..6745ae18b9 100644 --- a/src/Generator/Generators/CSharp/CSharpSources.cs +++ b/src/Generator/Generators/CSharp/CSharpSources.cs @@ -172,6 +172,7 @@ where m.Dependencies.Contains(Module) foreach (var @namespace in requiredNameSpaces.Union(Options.DependentNameSpaces).OrderBy(x => x)) WriteLine($"using {@namespace};"); + WriteLine("using __NativeMemory = global::System.Runtime.InteropServices.NativeMemory;"); WriteLine("using __CallingConvention = global::System.Runtime.InteropServices.CallingConvention;"); WriteLine("using __IntPtr = global::System.IntPtr;"); @@ -2394,7 +2395,7 @@ c is ClassTemplateSpecialization ? { string name = prop.Field.OriginalName; WriteLine($"if (__{name}_OwnsNativeMemory)"); - WriteLineIndent($"Marshal.FreeHGlobal({ptr}->{name});"); + WriteLineIndent($"__NativeMemory.AlignedFree((void*){ptr}->{name});"); } if (@class.IsValueType) @@ -2404,7 +2405,7 @@ c is ClassTemplateSpecialization ? else { WriteLine("if ({0})", Helpers.OwnsNativeInstanceIdentifier); - WriteLineIndent("Marshal.FreeHGlobal({0});", Helpers.InstanceIdentifier); + WriteLineIndent("__NativeMemory.AlignedFree((void*){0});", Helpers.InstanceIdentifier); WriteLine("{0} = IntPtr.Zero;", Helpers.InstanceIdentifier); } @@ -2606,14 +2607,14 @@ private void Generate__CopyValue(Class @class, string @internal) string defaultValue = string.Empty; if (copyCtorMethod.Parameters.Count > 1) defaultValue = $", {ExpressionPrinter.VisitParameter(copyCtorMethod.Parameters.Last())}"; - WriteLine($@"var ret = Marshal.AllocHGlobal(sizeof({@internal}));"); + WriteLine($@"var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof({@internal}), 16);"); WriteLine($@"{printed}.{GetFunctionNativeIdentifier(copyCtorMethod)}(ret, new {TypePrinter.IntPtrType}(&native){defaultValue});", printed, GetFunctionNativeIdentifier(copyCtorMethod)); WriteLine("return ret.ToPointer();"); } else { - WriteLine($"var ret = Marshal.AllocHGlobal(sizeof({@internal}));"); + WriteLine($"var ret = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof({@internal}), 16);"); WriteLine($"*({@internal}*) ret = native;"); WriteLine("return ret.ToPointer();"); } @@ -3041,7 +3042,7 @@ private void GenerateClassConstructor(Method method, Class @class) var @internal = TypePrinter.PrintNative( @class.IsAbstractImpl ? @class.BaseClass : @class); - WriteLine($"{Helpers.InstanceIdentifier} = Marshal.AllocHGlobal(sizeof({@internal}));"); + WriteLine($"{Helpers.InstanceIdentifier} = (nint)__NativeMemory.AlignedAlloc((nuint)sizeof({@internal}), 16);"); WriteLine($"{Helpers.OwnsNativeInstanceIdentifier} = true;"); if (generateNativeToManaged) @@ -3223,7 +3224,7 @@ public void GenerateFunctionCall(string functionName, Function function, if (method != null && !method.IsConstructor && method.OriginalFunction != null && ((Method)method.OriginalFunction).IsConstructor) { - WriteLine($@"Marshal.AllocHGlobal({((Class)method.OriginalNamespace).Layout.Size});"); + WriteLine($@"(nint)__NativeMemory.AlignedAlloc((nuint){((Class)method.OriginalNamespace).Layout.Size}, 16);"); names.Insert(0, Helpers.ReturnIdentifier); } WriteLine("{0}({1});", functionName, string.Join(", ", names)); diff --git a/src/Generator/Options.cs b/src/Generator/Options.cs index fe90828fbe..2da8bc23d6 100644 --- a/src/Generator/Options.cs +++ b/src/Generator/Options.cs @@ -95,7 +95,7 @@ public bool DoAllModulesHaveLibraries() => /// public bool GenerateClassTemplates { get; set; } public bool GenerateInternalImports; - public bool GenerateSequentialLayout { get; set; } = true; + public bool GenerateSequentialLayout { get; set; } = false; public bool UseHeaderDirectories; /// diff --git a/src/Generator/Passes/CheckAbiParameters.cs b/src/Generator/Passes/CheckAbiParameters.cs index a6360960b3..271f91b2e9 100644 --- a/src/Generator/Passes/CheckAbiParameters.cs +++ b/src/Generator/Passes/CheckAbiParameters.cs @@ -31,15 +31,19 @@ public override bool VisitFunctionDecl(Function function) if (!VisitDeclaration(function)) return false; + function.ReturnType.Type.Desugar().TryGetDeclaration(out Class returnTypeDecl); + var isReturnIndirect = function.IsReturnIndirect || ( Context.ParserOptions.IsMicrosoftAbi && function is Method m && m.IsNativeMethod() && !function.ReturnType.Type.Desugar().IsAddress() && - function.ReturnType.Type.Desugar().TryGetDeclaration(out Class returnTypeDecl) && returnTypeDecl.IsPOD && returnTypeDecl.Layout.Size <= 8); - if (isReturnIndirect) + var triple = Context.ParserOptions.TargetTriple; + var isArm64 = triple.Contains("arm64") || triple.Contains("aarch64"); + + if (isReturnIndirect && !isArm64) { var indirectParam = new Parameter() { @@ -54,6 +58,13 @@ public override bool VisitFunctionDecl(Function function) PrimitiveType.Void)); } + // .NET cannot deal with non-POD with size <= 16 types being passed by value. + // https://github.com/dotnet/runtime/issues/106471 + if (isArm64 && NeedsArm64IndirectReturn(returnTypeDecl)) + { + Diagnostics.Error($"Non-POD return type {returnTypeDecl.Name} with size <= 16 is not supported in ARM64 target."); + } + var method = function as Method; if (function.HasThisReturn) @@ -66,7 +77,7 @@ public override bool VisitFunctionDecl(Function function) // Deleting destructors (default in v-table) accept an i32 bitfield as a // second parameter in MS ABI. - if (method != null && method.IsDestructor && method.IsVirtual && Context.ParserOptions.IsMicrosoftAbi) + if (method is { IsDestructor: true } && method.IsVirtual && Context.ParserOptions.IsMicrosoftAbi) { method.Parameters.Add(new Parameter { @@ -77,12 +88,26 @@ public override bool VisitFunctionDecl(Function function) }); } - foreach (var param in function.Parameters.Where(p => p.IsIndirect)) + foreach (var param in function.Parameters) { - param.QualifiedType = new QualifiedType(new PointerType(param.QualifiedType)); + param.QualifiedType.Type.Desugar().TryGetDeclaration(out Class paramTypeDecl); + if (isArm64 && NeedsArm64IndirectReturn(paramTypeDecl)) + { + Diagnostics.Error($"Non-POD parameter type {paramTypeDecl.Name} with size <= 16 is not supported in ARM64 target."); + } + + if (param.IsIndirect) + param.QualifiedType = new QualifiedType(new PointerType(param.QualifiedType)); } return true; } + + public static bool NeedsArm64IndirectReturn(Class @class) + { + if (@class == null) + return false; + return (@class.HasNonTrivialCopyConstructor || @class.HasNonTrivialDestructor || @class.IsDynamic) && @class.Layout.Size <= 16; + } } } diff --git a/src/Generator/Passes/SymbolsCodeGenerator.cs b/src/Generator/Passes/SymbolsCodeGenerator.cs index 1b5bf7604a..62c2bf846c 100644 --- a/src/Generator/Passes/SymbolsCodeGenerator.cs +++ b/src/Generator/Passes/SymbolsCodeGenerator.cs @@ -32,6 +32,7 @@ public override void Process() { WriteLine("#define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS"); WriteLine("#define _LIBCPP_HIDE_FROM_ABI"); + WriteLine("#define _LIBCPP_NO_ABI_TAG"); NewLine(); WriteLine("#include "); }