diff --git a/src/CppParser/Bindings/CSharp/arm64-apple-darwin12.4.0/CppSharp.CppParser-symbols.cpp b/src/CppParser/Bindings/CSharp/arm64-apple-darwin12.4.0/CppSharp.CppParser-symbols.cpp new file mode 100644 index 000000000..38c9d198b --- /dev/null +++ b/src/CppParser/Bindings/CSharp/arm64-apple-darwin12.4.0/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/arm64-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/arm64-apple-darwin12.4.0/CppSharp.CppParser.cs new file mode 100644 index 000000000..68ad095fb --- /dev/null +++ b/src/CppParser/Bindings/CSharp/arm64-apple-darwin12.4.0/CppSharp.CppParser.cs @@ -0,0 +1,42514 @@ +// ---------------------------------------------------------------------------- +// +// 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 __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.Sequential, 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; + internal global::CppSharp.Parser.AST.ArchType archType; + 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; + 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 = "_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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public NativeLibrary(global::CppSharp.Parser.AST.NativeLibrary _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NativeLibrary.__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); + } + + 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) + Marshal.FreeHGlobal(__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 string FileName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + } + } + + public global::CppSharp.Parser.AST.ArchType ArchType + { + get + { + return ((__Internal*)__Instance)->archType; + } + + set + { + ((__Internal*)__Instance)->archType = 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.Sequential, Size = 4)] + public partial struct __Internal + { + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, kind); + } + + public Comment(global::CppSharp.Parser.AST.Comment _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Comment.__Internal)); + __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) + Marshal.FreeHGlobal(__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.Sequential, Size = 4)] + public new partial struct __Internal + { + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BlockContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, Kind); + } + + public BlockContentComment(global::CppSharp.Parser.AST.BlockContentComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockContentComment.__Internal)); + __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.Sequential, Size = 32)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.CommentKind kind; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FullComment(global::CppSharp.Parser.AST.FullComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullComment.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 8)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.CommentKind kind; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public InlineContentComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, Kind); + } + + public InlineContentComment(global::CppSharp.Parser.AST.InlineContentComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineContentComment.__Internal)); + __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.Sequential, Size = 32)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.CommentKind kind; + internal byte isWhitespace; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ParagraphComment(global::CppSharp.Parser.AST.ParagraphComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParagraphComment.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 40)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.CommentKind kind; + internal uint commandId; + internal __IntPtr paragraphComment; + 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 void GetArguments(__IntPtr @return, __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.Sequential, 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; + + [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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Argument(global::CppSharp.Parser.AST.BlockCommandComment.Argument _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.Argument.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BlockCommandComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, Kind); + } + + public BlockCommandComment(global::CppSharp.Parser.AST.BlockCommandComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockCommandComment.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.BlockCommandComment.Argument GetArguments(uint i) + { + var ___ret = new global::CppSharp.Parser.AST.BlockCommandComment.Argument.__Internal(); + __Internal.GetArguments(new IntPtr(&___ret), __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.Sequential, Size = 48)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.CommentKind kind; + internal uint commandId; + internal __IntPtr paragraphComment; + 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::CppSharp.Parser.AST.ParamCommandComment.PassDirection direction; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ParamCommandComment(global::CppSharp.Parser.AST.ParamCommandComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParamCommandComment.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 64)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.CommentKind kind; + internal uint commandId; + internal __IntPtr paragraphComment; + 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.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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TParamCommandComment(global::CppSharp.Parser.AST.TParamCommandComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TParamCommandComment.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 32)] + public new partial struct __Internal + { + 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; + + [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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VerbatimBlockLineComment(global::CppSharp.Parser.AST.VerbatimBlockLineComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockLineComment.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + } + } + } + + public unsafe partial class VerbatimBlockComment : global::CppSharp.Parser.AST.BlockCommandComment, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 64)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.CommentKind kind; + internal uint commandId; + internal __IntPtr paragraphComment; + 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.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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VerbatimBlockComment(global::CppSharp.Parser.AST.VerbatimBlockComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimBlockComment.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 64)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.CommentKind kind; + internal uint commandId; + internal __IntPtr paragraphComment; + 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; + + [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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VerbatimLineComment(global::CppSharp.Parser.AST.VerbatimLineComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VerbatimLineComment.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + } + } + } + + public unsafe partial class InlineCommandComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 40)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.CommentKind kind; + internal byte hasTrailingNewline; + internal uint commandId; + internal global::CppSharp.Parser.AST.InlineCommandComment.RenderKind commentRenderKind; + 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 void GetArguments(__IntPtr @return, __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.Sequential, 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; + + [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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Argument(global::CppSharp.Parser.AST.InlineCommandComment.Argument _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.Argument.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public InlineCommandComment(global::CppSharp.Parser.AST.InlineCommandComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InlineCommandComment.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.InlineCommandComment.Argument GetArguments(uint i) + { + var ___ret = new global::CppSharp.Parser.AST.InlineCommandComment.Argument.__Internal(); + __Internal.GetArguments(new IntPtr(&___ret), __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.Sequential, Size = 8)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.CommentKind kind; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public HTMLTagComment(global::CppSharp.Parser.AST.CommentKind Kind) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, Kind); + } + + public HTMLTagComment(global::CppSharp.Parser.AST.HTMLTagComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLTagComment.__Internal)); + __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.Sequential, Size = 56)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.CommentKind kind; + 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; + 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 void GetAttributes(__IntPtr @return, __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 = "_ZN8CppSharp9CppParser3AST19HTMLStartTagComment18getAttributesCountEv", CallingConvention = __CallingConvention.Cdecl)] + internal static extern uint GetAttributesCount(__IntPtr __instance); + } + + public unsafe partial class Attribute : IDisposable + { + [StructLayout(LayoutKind.Sequential, 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; + + [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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Attribute(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + } + } + + public string Value + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->value)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->value), 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public HTMLStartTagComment(global::CppSharp.Parser.AST.HTMLStartTagComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLStartTagComment.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute GetAttributes(uint i) + { + var ___ret = new global::CppSharp.Parser.AST.HTMLStartTagComment.Attribute.__Internal(); + __Internal.GetAttributes(new IntPtr(&___ret), __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 __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->tagName)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->tagName), 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.Sequential, Size = 32)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.CommentKind kind; + 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; + + [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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public HTMLEndTagComment(global::CppSharp.Parser.AST.HTMLEndTagComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.HTMLEndTagComment.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string TagName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->tagName)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->tagName), value); + } + } + } + + public unsafe partial class TextComment : global::CppSharp.Parser.AST.InlineContentComment, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 32)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.CommentKind kind; + 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; + + [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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TextComment(global::CppSharp.Parser.AST.TextComment _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TextComment.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + } + } + } + + public unsafe partial class RawComment : IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 64)] + public partial struct __Internal + { + 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; + 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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public RawComment(global::CppSharp.Parser.AST.RawComment _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.RawComment.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.RawCommentKind Kind + { + get + { + return ((__Internal*)__Instance)->kind; + } + + set + { + ((__Internal*)__Instance)->kind = value; + } + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + } + } + + public string BriefText + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->briefText)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->briefText), 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; + } + } + } + } + } +} + +namespace CppSharp +{ + namespace Parser + { + public unsafe partial struct SourceLocation + { + [StructLayout(LayoutKind.Sequential, Size = 4)] + public partial struct __Internal + { + 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.Sequential, Size = 8)] + public partial struct __Internal + { + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.SourceRange.__Internal*) __Instance) = *((global::CppSharp.Parser.SourceRange.__Internal*) _0.__Instance); + } + + public SourceRange() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.SourceRange.__Internal)); + __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) + Marshal.FreeHGlobal(__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.Sequential, Size = 8)] + public partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + + [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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, kind); + } + + public Type(global::CppSharp.Parser.AST.Type _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Type.__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); + } + + 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) + Marshal.FreeHGlobal(__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 unsafe partial class TypeQualifiers : IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 3)] + public partial struct __Internal + { + internal byte isConst; + internal byte isVolatile; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) __Instance) = *((global::CppSharp.Parser.AST.TypeQualifiers.__Internal*) _0.__Instance); + } + + public TypeQualifiers() + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeQualifiers.__Internal)); + __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) + Marshal.FreeHGlobal(__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.Sequential, Size = 16)] + public partial struct __Internal + { + internal __IntPtr type; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public QualifiedType(global::CppSharp.Parser.AST.QualifiedType _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.QualifiedType.__Internal)); + __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) + Marshal.FreeHGlobal(__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.Sequential, Size = 16)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TagType(global::CppSharp.Parser.AST.TagType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TagType.__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); + } + + 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.Sequential, Size = 48)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal global::CppSharp.Parser.AST.ArrayType.ArraySize sizeType; + internal long size; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ArrayType(global::CppSharp.Parser.AST.ArrayType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayType.__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); + } + + 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.Sequential, Size = 56)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + internal global::CppSharp.Parser.AST.ExceptionSpecType exceptionSpecType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FunctionType(global::CppSharp.Parser.AST.FunctionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionType.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 32)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedPointee; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public PointerType(global::CppSharp.Parser.AST.PointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PointerType.__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); + } + + 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.Sequential, Size = 24)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MemberPointerType(global::CppSharp.Parser.AST.MemberPointerType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberPointerType.__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); + } + + 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.Sequential, Size = 16)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TypedefType(global::CppSharp.Parser.AST.TypedefType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefType.__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); + } + + 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.Sequential, Size = 40)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal modified; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AttributedType(global::CppSharp.Parser.AST.AttributedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedType.__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); + } + + 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.Sequential, Size = 56)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal decayed; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal original; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DecayedType(global::CppSharp.Parser.AST.DecayedType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DecayedType.__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); + } + + 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.Sequential, Size = 40)] + public partial struct __Internal + { + internal global::CppSharp.Parser.AST.TemplateArgument.ArgumentKind kind; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal __IntPtr declaration; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TemplateArgument(global::CppSharp.Parser.AST.TemplateArgument _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateArgument.__Internal)); + __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) + Marshal.FreeHGlobal(__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.Sequential, Size = 56)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal __IntPtr _template; + 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 void GetArguments(__IntPtr @return, __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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TemplateSpecializationType(global::CppSharp.Parser.AST.TemplateSpecializationType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateSpecializationType.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var ___ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&___ret), __Instance, 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.Sequential, Size = 48)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::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 void GetArguments(__IntPtr @return, __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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DependentTemplateSpecializationType(global::CppSharp.Parser.AST.DependentTemplateSpecializationType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentTemplateSpecializationType.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var ___ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&___ret), __Instance, 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.Sequential, Size = 32)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + internal __IntPtr parameter; + internal uint depth; + internal uint index; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TemplateParameterType(global::CppSharp.Parser.AST.TemplateParameterType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterType.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 32)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal replacement; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TemplateParameterSubstitutionType(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameterSubstitutionType.__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); + } + + 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.Sequential, Size = 32)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal injectedSpecializationType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public InjectedClassNameType(global::CppSharp.Parser.AST.InjectedClassNameType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InjectedClassNameType.__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); + } + + 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.Sequential, Size = 48)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + 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; + + [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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DependentNameType(global::CppSharp.Parser.AST.DependentNameType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentNameType.__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); + } + + 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) + Marshal.FreeHGlobal(__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 __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->identifier)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->identifier), value); + } + } + } + + public unsafe partial class PackExpansionType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 8)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + + [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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public PackExpansionType(global::CppSharp.Parser.AST.PackExpansionType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionType.__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); + } + } + + public unsafe partial class UnaryTransformType : global::CppSharp.Parser.AST.Type, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 40)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal desugared; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnaryTransformType(global::CppSharp.Parser.AST.UnaryTransformType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryTransformType.__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); + } + + 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.Sequential, Size = 16)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnresolvedUsingType(global::CppSharp.Parser.AST.UnresolvedUsingType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingType.__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); + } + + 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.Sequential, Size = 32)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal elementType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VectorType(global::CppSharp.Parser.AST.VectorType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VectorType.__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); + } + + 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.Sequential, Size = 12)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.TypeKind kind; + internal byte isDependent; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BuiltinType(global::CppSharp.Parser.AST.BuiltinType _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BuiltinType.__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); + } + + 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.Sequential, Size = 200)] + public 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; + 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 = "_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 = "_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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, kind); + } + + public Declaration(global::CppSharp.Parser.AST.Declaration _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Declaration.__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); + } + + 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) + Marshal.FreeHGlobal(__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 string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + } + } + + public string USR + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->USR)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->USR), value); + } + } + + public string DebugText + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->debugText)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->debugText), 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 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.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; + 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; + 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; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + internal 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; + 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; + 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; + 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; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, kind); + } + + public DeclarationContext(global::CppSharp.Parser.AST.DeclarationContext _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclarationContext.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 216)] + 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; + 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; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, kind); + } + + public TypedefNameDecl(global::CppSharp.Parser.AST.TypedefNameDecl _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefNameDecl.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 216)] + 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; + 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; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TypedefDecl(global::CppSharp.Parser.AST.TypedefDecl _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypedefDecl.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class TypeAlias : global::CppSharp.Parser.AST.TypedefNameDecl, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 224)] + 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; + 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; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TypeAlias(global::CppSharp.Parser.AST.TypeAlias _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAlias.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 208)] + 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; + 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; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Friend(global::CppSharp.Parser.AST.Friend _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Friend.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 40)] + public partial struct __Internal + { + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + 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 __IntPtr ctor(__IntPtr __instance, __IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, __IntPtr decl); + + [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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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(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)); + __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) + Marshal.FreeHGlobal(__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 __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 unsafe partial class ExpressionObsolete : global::CppSharp.Parser.AST.StatementObsolete, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 40)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + 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 __IntPtr ctor(__IntPtr __instance, __IntPtr str, global::CppSharp.Parser.AST.StatementClassObsolete Class, __IntPtr decl); + + [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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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(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)); + __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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class BinaryOperatorObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + 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 __IntPtr LHS; + 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 __IntPtr ctor(__IntPtr __instance, __IntPtr str, __IntPtr lhs, __IntPtr rhs, __IntPtr 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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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(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)); + __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) + Marshal.FreeHGlobal(__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 __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 unsafe partial class CallExprObsolete : global::CppSharp.Parser.AST.ExpressionObsolete, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 64)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + 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 __IntPtr ctor(__IntPtr __instance, __IntPtr str, __IntPtr decl); + + [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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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(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)); + __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) + Marshal.FreeHGlobal(__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.Sequential, Size = 64)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StatementClassObsolete _class; + 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 __IntPtr ctor(__IntPtr __instance, __IntPtr str, __IntPtr decl); + + [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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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(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)); + __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) + Marshal.FreeHGlobal(__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.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; + 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; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal byte isIndirect; + internal byte hasDefaultValue; + internal uint index; + internal __IntPtr defaultArgument; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Parameter(global::CppSharp.Parser.AST.Parameter _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Parameter.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 624)] + 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; + 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; + 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; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + internal 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; + 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; + 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; + 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; + internal byte isAnonymous; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + internal byte isReturnIndirect; + internal byte hasThisReturn; + internal byte isConstExpr; + internal byte isVariadic; + internal byte isInline; + internal byte isPure; + internal byte isDeleted; + internal byte isDefaulted; + internal global::CppSharp.Parser.AST.FriendKind friendKind; + 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; + internal __IntPtr bodyStmt; + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + 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; + internal __IntPtr specializationInfo; + internal __IntPtr instantiatedFrom; + 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 = "_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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Function(global::CppSharp.Parser.AST.Function _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Function.__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); + } + + 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) + Marshal.FreeHGlobal(__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 string Mangled + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->mangled)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->mangled), value); + } + } + + public string Signature + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->signature)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->signature), value); + } + } + + public string Body + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->body)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + 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; + } + } + + public uint ParametersCount + { + get + { + var ___ret = __Internal.GetParametersCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class Method : global::CppSharp.Parser.AST.Function, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 688)] + 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; + 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; + 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; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + internal 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; + 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; + 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; + 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; + internal byte isAnonymous; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal returnType; + internal byte isReturnIndirect; + internal byte hasThisReturn; + internal byte isConstExpr; + internal byte isVariadic; + internal byte isInline; + internal byte isPure; + internal byte isDeleted; + internal byte isDefaulted; + internal global::CppSharp.Parser.AST.FriendKind friendKind; + 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; + internal __IntPtr bodyStmt; + internal global::CppSharp.Parser.AST.CallingConvention callingConvention; + 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; + internal __IntPtr specializationInfo; + internal __IntPtr instantiatedFrom; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal byte isVirtual; + internal byte isStatic; + internal byte isConst; + internal byte isExplicit; + internal byte isVolatile; + internal global::CppSharp.Parser.AST.CXXMethodKind methodKind; + internal byte isDefaultConstructor; + internal byte isCopyConstructor; + internal byte isMoveConstructor; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal conversionType; + internal global::CppSharp.Parser.AST.RefQualifierKind refQualifier; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Method(global::CppSharp.Parser.AST.Method _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Method.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 488)] + 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; + 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; + 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; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + internal 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; + 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; + 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; + 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; + internal byte isAnonymous; + internal global::CppSharp.Parser.AST.Enumeration.EnumModifiers modifiers; + internal __IntPtr type; + internal __IntPtr builtinType; + 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 = "_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); + } + + [Flags] + public enum EnumModifiers + { + Anonymous = 1, + Scoped = 2, + Flags = 4 + } + + public unsafe partial class Item : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 232)] + 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; + 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; + internal global::Std.BasicString.__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; + 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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Item(global::CppSharp.Parser.AST.Enumeration.Item _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.Item.__Internal)); + __ownsNativeInstance = true; + __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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Expression + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->expression)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->expression), value); + } + } + + public ulong Value + { + get + { + return ((__Internal*)__Instance)->value; + } + + set + { + ((__Internal*)__Instance)->value = 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Enumeration(global::CppSharp.Parser.AST.Enumeration _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Enumeration.__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); + } + + 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) + Marshal.FreeHGlobal(__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.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 + { + 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.Sequential, Size = 256)] + 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; + 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; + 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; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + 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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Variable(global::CppSharp.Parser.AST.Variable _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Variable.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public bool IsConstExpr + { + get + { + return ((__Internal*)__Instance)->isConstExpr != 0; + } + + set + { + ((__Internal*)__Instance)->isConstExpr = (byte) (value ? 1 : 0); + } + } + + public string Mangled + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->mangled)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->mangled), 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 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 unsafe partial class BaseClassSpecifier : IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 24)] + public partial struct __Internal + { + internal global::CppSharp.Parser.AST.AccessSpecifier access; + internal byte isVirtual; + internal __IntPtr type; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BaseClassSpecifier(global::CppSharp.Parser.AST.BaseClassSpecifier _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BaseClassSpecifier.__Internal)); + __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) + Marshal.FreeHGlobal(__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.Sequential, Size = 232)] + 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; + 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; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal __IntPtr _class; + internal byte isBitField; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Field(global::CppSharp.Parser.AST.Field _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Field.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 200)] + 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; + 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 = "_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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AccessSpecifierDecl(global::CppSharp.Parser.AST.AccessSpecifierDecl _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AccessSpecifierDecl.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class VTableComponent : IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 16)] + public partial struct __Internal + { + internal global::CppSharp.Parser.AST.VTableComponentKind kind; + internal uint offset; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VTableComponent(global::CppSharp.Parser.AST.VTableComponent _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableComponent.__Internal)); + __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) + Marshal.FreeHGlobal(__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.Sequential, Size = 24)] + public partial struct __Internal + { + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VTableLayout(global::CppSharp.Parser.AST.VTableLayout _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VTableLayout.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 40)] + public partial struct __Internal + { + internal ulong VBTableIndex; + internal uint VFPtrOffset; + internal uint VFPtrFullOffset; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VFTableInfo(global::CppSharp.Parser.AST.VFTableInfo _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VFTableInfo.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 56)] + public partial struct __Internal + { + 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; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + 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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public LayoutField(global::CppSharp.Parser.AST.LayoutField other) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutField.__Internal)); + __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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public uint Offset + { + get + { + return ((__Internal*)__Instance)->offset; + } + + set + { + ((__Internal*)__Instance)->offset = value; + } + } + + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), 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 unsafe partial class LayoutBase : IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 16)] + public partial struct __Internal + { + internal uint offset; + internal __IntPtr _class; + + [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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public LayoutBase(global::CppSharp.Parser.AST.LayoutBase other) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LayoutBase.__Internal)); + __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) + Marshal.FreeHGlobal(__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 unsafe partial class ClassLayout : IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 136)] + public partial struct __Internal + { + internal global::CppSharp.Parser.AST.CppAbi ABI; + internal global::CppSharp.Parser.AST.RecordArgABI argABI; + 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; + internal global::CppSharp.Parser.AST.VTableLayout.__Internal layout; + internal byte hasOwnVFPtr; + internal long VBPtrOffset; + internal int alignment; + internal int size; + internal int dataSize; + 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; + 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 void GetVFTables(__IntPtr @return, __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 void GetFields(__IntPtr @return, __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 void GetBases(__IntPtr @return, __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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ClassLayout(global::CppSharp.Parser.AST.ClassLayout _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassLayout.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.VFTableInfo GetVFTables(uint i) + { + var ___ret = new global::CppSharp.Parser.AST.VFTableInfo.__Internal(); + __Internal.GetVFTables(new IntPtr(&___ret), __Instance, 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 = new global::CppSharp.Parser.AST.LayoutField.__Internal(); + __Internal.GetFields(new IntPtr(&___ret), __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 = new global::CppSharp.Parser.AST.LayoutBase.__Internal(); + __Internal.GetBases(new IntPtr(&___ret), __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.Sequential, Size = 568)] + 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; + 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; + 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; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + internal 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; + 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; + 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; + 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; + internal byte isAnonymous; + 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; + 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; + 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; + 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; + internal byte isPOD; + internal byte isAbstract; + internal byte isUnion; + internal byte isDynamic; + internal byte isPolymorphic; + internal byte hasNonTrivialDefaultConstructor; + internal byte hasNonTrivialCopyConstructor; + internal byte hasNonTrivialDestructor; + internal byte isExternCContext; + internal byte isInjected; + internal global::CppSharp.Parser.AST.TagKind tagKind; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Class(global::CppSharp.Parser.AST.Class _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Class.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 232)] + 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; + 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; + internal __IntPtr TemplatedDecl; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, kind); + } + + public Template() + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Template(global::CppSharp.Parser.AST.Template _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Template.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 232)] + 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; + 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; + internal __IntPtr TemplatedDecl; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TypeAliasTemplate(global::CppSharp.Parser.AST.TypeAliasTemplate _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeAliasTemplate.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class TemplateParameter : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 216)] + 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; + 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; + internal uint depth; + internal uint index; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, kind); + } + + public TemplateParameter(global::CppSharp.Parser.AST.TemplateParameter _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateParameter.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public static implicit operator global::CppSharp.Parser.AST.TemplateParameter(global::CppSharp.Parser.AST.DeclarationKind kind) + { + return new global::CppSharp.Parser.AST.TemplateParameter(kind); + } + + public uint Depth + { + get + { + return ((__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.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; + 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; + internal __IntPtr TemplatedDecl; + 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; + internal byte isParameterPack; + internal byte isPackExpansion; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TemplateTemplateParameter(global::CppSharp.Parser.AST.TemplateTemplateParameter _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TemplateTemplateParameter.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 232)] + 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; + 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; + internal uint depth; + internal uint index; + internal byte isParameterPack; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TypeTemplateParameter(global::CppSharp.Parser.AST.TypeTemplateParameter _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTemplateParameter.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 256)] + 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; + 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; + internal uint depth; + internal uint index; + internal byte isParameterPack; + internal __IntPtr defaultArgument; + internal __IntPtr defaultArgumentNew; + internal uint position; + internal byte isPackExpansion; + internal byte isExpandedParameterPack; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public NonTypeTemplateParameter(global::CppSharp.Parser.AST.NonTypeTemplateParameter _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NonTypeTemplateParameter.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 256)] + 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; + 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; + internal __IntPtr TemplatedDecl; + 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; + 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 = "_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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ClassTemplate(global::CppSharp.Parser.AST.ClassTemplate _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplate.__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); + } + + 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) + Marshal.FreeHGlobal(__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 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 + { + var ___ret = __Internal.GetSpecializationsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class ClassTemplateSpecialization : global::CppSharp.Parser.AST.Class, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 608)] + 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; + 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; + 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; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + internal 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; + 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; + 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; + 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; + internal byte isAnonymous; + 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; + 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; + 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; + 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; + internal byte isPOD; + internal byte isAbstract; + internal byte isUnion; + internal byte isDynamic; + internal byte isPolymorphic; + internal byte hasNonTrivialDefaultConstructor; + internal byte hasNonTrivialCopyConstructor; + internal byte hasNonTrivialDestructor; + internal byte isExternCContext; + internal byte isInjected; + internal global::CppSharp.Parser.AST.TagKind tagKind; + internal __IntPtr layout; + internal __IntPtr templatedDecl; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::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 void GetArguments(__IntPtr @return, __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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ClassTemplateSpecialization(global::CppSharp.Parser.AST.ClassTemplateSpecialization _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplateSpecialization.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var ___ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&___ret), __Instance, 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.Sequential, Size = 632)] + 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; + 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; + 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; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + internal 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; + 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; + 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; + 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; + internal byte isAnonymous; + 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; + 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; + 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; + 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; + internal byte isPOD; + internal byte isAbstract; + internal byte isUnion; + internal byte isDynamic; + internal byte isPolymorphic; + internal byte hasNonTrivialDefaultConstructor; + internal byte hasNonTrivialCopyConstructor; + internal byte hasNonTrivialDestructor; + internal byte isExternCContext; + internal byte isInjected; + internal global::CppSharp.Parser.AST.TagKind tagKind; + internal __IntPtr layout; + internal __IntPtr templatedDecl; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::CppSharp.Parser.AST.TemplateSpecializationKind specializationKind; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ClassTemplatePartialSpecialization(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ClassTemplatePartialSpecialization.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 256)] + 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; + 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; + internal __IntPtr TemplatedDecl; + 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; + 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 = "_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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FunctionTemplate(global::CppSharp.Parser.AST.FunctionTemplate _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplate.__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); + } + + 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) + Marshal.FreeHGlobal(__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 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 + { + var ___ret = __Internal.GetSpecializationsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class FunctionTemplateSpecialization : IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 48)] + public partial struct __Internal + { + internal __IntPtr _template; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal __IntPtr specializedFunction; + 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 void GetArguments(__IntPtr @return, __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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FunctionTemplateSpecialization(global::CppSharp.Parser.AST.FunctionTemplateSpecialization _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionTemplateSpecialization.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var ___ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&___ret), __Instance, 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.Sequential, Size = 256)] + 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; + 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; + internal __IntPtr TemplatedDecl; + 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; + 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 = "_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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VarTemplate(global::CppSharp.Parser.AST.VarTemplate _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplate.__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); + } + + 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) + Marshal.FreeHGlobal(__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 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 + { + var ___ret = __Internal.GetSpecializationsCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class VarTemplateSpecialization : global::CppSharp.Parser.AST.Variable, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 296)] + 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; + 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; + 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; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal __IntPtr initializer; + internal __IntPtr templatedDecl; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::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 void GetArguments(__IntPtr @return, __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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VarTemplateSpecialization(global::CppSharp.Parser.AST.VarTemplateSpecialization _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplateSpecialization.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.AST.TemplateArgument GetArguments(uint i) + { + var ___ret = new global::CppSharp.Parser.AST.TemplateArgument.__Internal(); + __Internal.GetArguments(new IntPtr(&___ret), __Instance, 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.Sequential, Size = 296)] + 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; + 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; + 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; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal qualifiedType; + internal __IntPtr initializer; + internal __IntPtr templatedDecl; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_N___1_S_allocator__S0_ Arguments; + internal global::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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VarTemplatePartialSpecialization(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VarTemplatePartialSpecialization.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class UnresolvedUsingTypename : global::CppSharp.Parser.AST.Declaration, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 200)] + 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; + 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 __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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedUsingTypename.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + 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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + 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; + 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; + 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; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + internal 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; + 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; + 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; + 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; + internal byte isAnonymous; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Namespace(global::CppSharp.Parser.AST.Namespace _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Namespace.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 24)] + public partial struct __Internal + { + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal __IntPtr originalPtr; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public PreprocessedEntity(global::CppSharp.Parser.AST.PreprocessedEntity _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PreprocessedEntity.__Internal)); + __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) + Marshal.FreeHGlobal(__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.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal __IntPtr originalPtr; + 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; + internal int lineNumberStart; + 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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MacroDefinition(global::CppSharp.Parser.AST.MacroDefinition _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroDefinition.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + } + } + + public string Expression + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->expression)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->expression), value); + } + } + + public int LineNumberStart + { + get + { + return ((__Internal*)__Instance)->lineNumberStart; + } + + set + { + ((__Internal*)__Instance)->lineNumberStart = value; + } + } + + public int LineNumberEnd + { + get + { + return ((__Internal*)__Instance)->lineNumberEnd; + } + + set + { + ((__Internal*)__Instance)->lineNumberEnd = value; + } + } + } + + public unsafe partial class MacroExpansion : global::CppSharp.Parser.AST.PreprocessedEntity, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.MacroLocation macroLocation; + internal __IntPtr originalPtr; + 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; + 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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MacroExpansion(global::CppSharp.Parser.AST.MacroExpansion _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MacroExpansion.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string Name + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->name)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->name), value); + } + } + + public string Text + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->text)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->text), value); + } + } + + 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 unsafe partial class TranslationUnit : global::CppSharp.Parser.AST.Namespace, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 504)] + 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; + 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; + 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; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_N___1_S_allocator__S0_ Enums; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_N___1_S_allocator__S0_ Functions; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_N___1_S_allocator__S0_ Classes; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_N___1_S_allocator__S0_ Templates; + internal global::Std.Vector.__Internalc__N_std_N___1_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_N___1_S_allocator__S0_ Typedefs; + internal 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; + 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; + 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; + 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; + internal byte isAnonymous; + 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; + internal byte isSystemHeader; + 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 = "_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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TranslationUnit(global::CppSharp.Parser.AST.TranslationUnit _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TranslationUnit.__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); + } + + 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) + Marshal.FreeHGlobal(__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 string FileName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + } + } + + public bool IsSystemHeader + { + get + { + return ((__Internal*)__Instance)->isSystemHeader != 0; + } + + set + { + ((__Internal*)__Instance)->isSystemHeader = (byte) (value ? 1 : 0); + } + } + + public uint MacrosCount + { + get + { + var ___ret = __Internal.GetMacrosCount(__Instance); + return ___ret; + } + } + } + + public unsafe partial class ASTContext : IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 24)] + public partial struct __Internal + { + 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 = "_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); + + [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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ASTContext(global::CppSharp.Parser.AST.ASTContext _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ASTContext.__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); + } + + 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) + Marshal.FreeHGlobal(__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); + 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.Sequential, Size = 20)] + public partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Stmt(global::CppSharp.Parser.AST.StmtClass klass) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public Stmt(global::CppSharp.Parser.AST.Stmt _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Stmt.__Internal)); + __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) + Marshal.FreeHGlobal(__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.Sequential, Size = 64)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + 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; + internal byte isSingleDecl; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DeclStmt(global::CppSharp.Parser.AST.DeclStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclStmt.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 28)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal semiLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public NullStmt(global::CppSharp.Parser.AST.NullStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NullStmt.__Internal)); + __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.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + 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; + internal byte body_empty; + internal uint size; + internal __IntPtr body_front; + internal __IntPtr body_back; + internal global::CppSharp.Parser.SourceLocation.__Internal lBracLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CompoundStmt(global::CppSharp.Parser.AST.CompoundStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundStmt.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 40)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SwitchCase(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public SwitchCase(global::CppSharp.Parser.AST.SwitchCase _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchCase.__Internal)); + __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.Sequential, Size = 72)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + internal __IntPtr subStmt; + internal global::CppSharp.Parser.SourceLocation.__Internal caseLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + internal __IntPtr lHS; + internal __IntPtr rHS; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CaseStmt(global::CppSharp.Parser.AST.CaseStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CaseStmt.__Internal)); + __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.Sequential, Size = 48)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + internal __IntPtr subStmt; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DefaultStmt(global::CppSharp.Parser.AST.DefaultStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DefaultStmt.__Internal)); + __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.Sequential, Size = 40)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal identLoc; + internal __IntPtr subStmt; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public LabelStmt(global::CppSharp.Parser.AST.LabelStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LabelStmt.__Internal)); + __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.Sequential, Size = 32)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal attrLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AttributedStmt(global::CppSharp.Parser.AST.AttributedStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AttributedStmt.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal __IntPtr cond; + internal __IntPtr then; + internal __IntPtr _else; + internal __IntPtr init; + internal global::CppSharp.Parser.SourceLocation.__Internal ifLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal elseLoc; + internal byte _constexpr; + internal byte hasInitStorage; + internal byte hasVarStorage; + internal byte hasElseStorage; + internal __IntPtr conditionVariableDeclStmt; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public IfStmt(global::CppSharp.Parser.AST.IfStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IfStmt.__Internal)); + __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.Sequential, Size = 72)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal __IntPtr cond; + internal __IntPtr body; + internal __IntPtr init; + internal global::CppSharp.Parser.SourceLocation.__Internal switchLoc; + internal byte hasInitStorage; + internal byte hasVarStorage; + internal __IntPtr conditionVariableDeclStmt; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SwitchStmt(global::CppSharp.Parser.AST.SwitchStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SwitchStmt.__Internal)); + __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.Sequential, Size = 56)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal __IntPtr cond; + internal __IntPtr body; + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + internal byte hasVarStorage; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public WhileStmt(global::CppSharp.Parser.AST.WhileStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.WhileStmt.__Internal)); + __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.Sequential, Size = 56)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal __IntPtr cond; + internal __IntPtr body; + internal global::CppSharp.Parser.SourceLocation.__Internal doLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal whileLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DoStmt(global::CppSharp.Parser.AST.DoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DoStmt.__Internal)); + __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.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal __IntPtr init; + internal __IntPtr cond; + internal __IntPtr inc; + internal __IntPtr body; + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ForStmt(global::CppSharp.Parser.AST.ForStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ForStmt.__Internal)); + __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.Sequential, Size = 28)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public GotoStmt(global::CppSharp.Parser.AST.GotoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GotoStmt.__Internal)); + __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.Sequential, Size = 40)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal gotoLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal starLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public IndirectGotoStmt(global::CppSharp.Parser.AST.IndirectGotoStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IndirectGotoStmt.__Internal)); + __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.Sequential, Size = 24)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ContinueStmt(global::CppSharp.Parser.AST.ContinueStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ContinueStmt.__Internal)); + __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.Sequential, Size = 24)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BreakStmt(global::CppSharp.Parser.AST.BreakStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BreakStmt.__Internal)); + __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.Sequential, Size = 40)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal __IntPtr retValue; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ReturnStmt(global::CppSharp.Parser.AST.ReturnStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ReturnStmt.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + 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; + 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; + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + internal byte simple; + internal byte _volatile; + internal uint numOutputs; + internal uint numPlusOperands; + internal uint numInputs; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AsmStmt(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public AsmStmt(global::CppSharp.Parser.AST.AsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsmStmt.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 104)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + 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; + 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; + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + internal byte simple; + internal byte _volatile; + internal uint numOutputs; + internal uint numPlusOperands; + internal uint numInputs; + internal uint numClobbers; + 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.Sequential, Size = 40)] + public partial struct __Internal + { + internal byte isString; + 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; + internal uint operandNo; + 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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AsmStringPiece(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.AsmStringPiece.__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); + } + + 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) + Marshal.FreeHGlobal(__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 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 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; + } + } + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public GCCAsmStmt(global::CppSharp.Parser.AST.GCCAsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GCCAsmStmt.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 136)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + 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; + 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; + internal global::CppSharp.Parser.SourceLocation.__Internal asmLoc; + internal byte simple; + internal byte _volatile; + internal uint numOutputs; + internal uint numPlusOperands; + internal uint numInputs; + internal uint numClobbers; + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + internal byte hasBraces; + 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; + + [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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MSAsmStmt(global::CppSharp.Parser.AST.MSAsmStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSAsmStmt.__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); + } + + 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) + Marshal.FreeHGlobal(__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 __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->asmString)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->asmString), value); + } + } + } + + public unsafe partial class SEHExceptStmt : global::CppSharp.Parser.AST.Stmt, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 40)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal exceptLoc; + internal __IntPtr filterExpr; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SEHExceptStmt(global::CppSharp.Parser.AST.SEHExceptStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHExceptStmt.__Internal)); + __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.Sequential, Size = 32)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal finallyLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SEHFinallyStmt(global::CppSharp.Parser.AST.SEHFinallyStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHFinallyStmt.__Internal)); + __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.Sequential, Size = 64)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + internal byte isCXXTry; + internal __IntPtr tryBlock; + internal __IntPtr handler; + internal __IntPtr exceptHandler; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SEHTryStmt(global::CppSharp.Parser.AST.SEHTryStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHTryStmt.__Internal)); + __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.Sequential, Size = 24)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SEHLeaveStmt(global::CppSharp.Parser.AST.SEHLeaveStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SEHLeaveStmt.__Internal)); + __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.Sequential, Size = 64)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + 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; + internal __IntPtr capturedStmt; + 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.Sequential, Size = 12)] + public partial struct __Internal + { + internal global::CppSharp.Parser.AST.CapturedStmt.VariableCaptureKind captureKind; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal byte capturesThis; + internal byte capturesVariable; + internal byte capturesVariableByCopy; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Capture(global::CppSharp.Parser.AST.CapturedStmt.Capture _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.Capture.__Internal)); + __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) + Marshal.FreeHGlobal(__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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CapturedStmt(global::CppSharp.Parser.AST.CapturedStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CapturedStmt.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 48)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal catchLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal caughtType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXCatchStmt(global::CppSharp.Parser.AST.CXXCatchStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXCatchStmt.__Internal)); + __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.Sequential, Size = 40)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal tryLoc; + internal __IntPtr tryBlock; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXTryStmt(global::CppSharp.Parser.AST.CXXTryStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTryStmt.__Internal)); + __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.Sequential, Size = 112)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal __IntPtr init; + internal __IntPtr rangeInit; + internal __IntPtr cond; + internal __IntPtr inc; + internal __IntPtr body; + internal __IntPtr rangeStmt; + internal __IntPtr beginStmt; + internal __IntPtr endStmt; + internal __IntPtr loopVarStmt; + internal global::CppSharp.Parser.SourceLocation.__Internal forLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal coawaitLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXForRangeStmt(global::CppSharp.Parser.AST.CXXForRangeStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXForRangeStmt.__Internal)); + __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.Sequential, Size = 40)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + internal byte isIfExists; + internal byte isIfNotExists; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MSDependentExistsStmt(global::CppSharp.Parser.AST.MSDependentExistsStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSDependentExistsStmt.__Internal)); + __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.Sequential, Size = 120)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal byte hasDependentPromiseType; + internal __IntPtr body; + internal __IntPtr promiseDeclStmt; + internal __IntPtr initSuspendStmt; + internal __IntPtr finalSuspendStmt; + internal __IntPtr exceptionHandler; + internal __IntPtr fallthroughHandler; + internal __IntPtr allocate; + internal __IntPtr deallocate; + internal __IntPtr returnValueInit; + internal __IntPtr resultDecl; + internal __IntPtr returnStmt; + 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.Sequential, 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CtorArgs(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.CtorArgs.__Internal)); + __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) + Marshal.FreeHGlobal(__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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CoroutineBodyStmt(global::CppSharp.Parser.AST.CoroutineBodyStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineBodyStmt.__Internal)); + __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.Sequential, Size = 48)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal byte isImplicit; + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + internal __IntPtr operand; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CoreturnStmt(global::CppSharp.Parser.AST.CoreturnStmt _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoreturnStmt.__Internal)); + __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.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + 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.Sequential, Size = 16)] + public partial struct __Internal + { + internal global::CppSharp.Parser.AST.Expr.Classification.Kinds kind; + internal global::CppSharp.Parser.AST.Expr.Classification.ModifiableType modifiable; + internal byte isLValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isPRValue; + internal byte isRValue; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Classification(global::CppSharp.Parser.AST.Expr.Classification _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.Classification.__Internal)); + __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) + Marshal.FreeHGlobal(__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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Expr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public Expr(global::CppSharp.Parser.AST.Expr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.Expr.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FullExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public FullExpr(global::CppSharp.Parser.AST.FullExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FullExpr.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ConstantExpr(global::CppSharp.Parser.AST.ConstantExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConstantExpr.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal byte isUnique; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public OpaqueValueExpr(global::CppSharp.Parser.AST.OpaqueValueExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OpaqueValueExpr.__Internal)); + __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.Sequential, Size = 128)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal byte hadMultipleCandidates; + internal byte hasQualifier; + internal __IntPtr foundDecl; + internal byte hasTemplateKWAndArgsInfo; + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + internal byte hasTemplateKeyword; + internal byte hasExplicitTemplateArgs; + internal uint numTemplateArgs; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DeclRefExpr(global::CppSharp.Parser.AST.DeclRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DeclRefExpr.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public IntegerLiteral(global::CppSharp.Parser.AST.IntegerLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.IntegerLiteral.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FixedPointLiteral(global::CppSharp.Parser.AST.FixedPointLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FixedPointLiteral.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::CppSharp.Parser.AST.CharacterLiteral.CharacterKind kind; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CharacterLiteral(global::CppSharp.Parser.AST.CharacterLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CharacterLiteral.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal byte exact; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FloatingLiteral(global::CppSharp.Parser.AST.FloatingLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FloatingLiteral.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ImaginaryLiteral(global::CppSharp.Parser.AST.ImaginaryLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImaginaryLiteral.__Internal)); + __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.Sequential, Size = 160)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + 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; + internal uint byteLength; + internal uint length; + internal uint charByteWidth; + internal global::CppSharp.Parser.AST.StringLiteral.StringKind kind; + internal byte isAscii; + internal byte isWide; + internal byte isUTF8; + internal byte isUTF16; + internal byte isUTF32; + internal byte isPascal; + internal byte containsNonAscii; + internal byte containsNonAsciiOrNull; + 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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public StringLiteral(global::CppSharp.Parser.AST.StringLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StringLiteral.__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); + } + + 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) + Marshal.FreeHGlobal(__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 + { + 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 unsafe partial class PredefinedExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public PredefinedExpr(global::CppSharp.Parser.AST.PredefinedExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PredefinedExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr subExpr; + internal global::CppSharp.Parser.SourceLocation.__Internal lParen; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ParenExpr(global::CppSharp.Parser.AST.ParenExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenExpr.__Internal)); + __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.Sequential, Size = 104)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.AST.UnaryOperatorKind opcode; + internal __IntPtr subExpr; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + internal byte canOverflow; + internal byte isPrefix; + internal byte isPostfix; + internal byte isIncrementOp; + internal byte isDecrementOp; + internal byte isIncrementDecrementOp; + internal byte isArithmeticOp; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnaryOperator(global::CppSharp.Parser.AST.UnaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryOperator.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + internal uint numComponents; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public OffsetOfExpr(global::CppSharp.Parser.AST.OffsetOfExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OffsetOfExpr.__Internal)); + __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.Sequential, Size = 136)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.AST.UnaryExprOrTypeTrait kind; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + internal byte isArgumentType; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal argumentType; + internal __IntPtr argumentExpr; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnaryExprOrTypeTraitExpr(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnaryExprOrTypeTraitExpr.__Internal)); + __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.Sequential, Size = 120)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr lHS; + internal __IntPtr rHS; + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + internal __IntPtr @base; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ArraySubscriptExpr(global::CppSharp.Parser.AST.ArraySubscriptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArraySubscriptExpr.__Internal)); + __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.Sequential, Size = 152)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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; + internal __IntPtr callee; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + internal __IntPtr calleeDecl; + internal __IntPtr directCallee; + internal uint numArgs; + internal uint numCommas; + internal uint builtinCallee; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CallExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public CallExpr(global::CppSharp.Parser.AST.CallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CallExpr.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 128)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr @base; + internal byte arrow; + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + internal byte hadMultipleCandidates; + internal byte hasQualifier; + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + internal byte hasTemplateKeyword; + internal byte hasExplicitTemplateArgs; + internal uint numTemplateArgs; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MemberExpr(global::CppSharp.Parser.AST.MemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MemberExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr initializer; + internal byte fileScope; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CompoundLiteralExpr(global::CppSharp.Parser.AST.CompoundLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundLiteralExpr.__Internal)); + __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.Sequential, Size = 120)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.AST.CastKind castKind; + internal __IntPtr subExpr; + internal __IntPtr castKindName; + internal __IntPtr subExprAsWritten; + internal __IntPtr conversionFunction; + internal byte path_empty; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public CastExpr(global::CppSharp.Parser.AST.CastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CastExpr.__Internal)); + __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.Sequential, Size = 128)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.AST.CastKind castKind; + internal __IntPtr subExpr; + internal __IntPtr castKindName; + internal __IntPtr subExprAsWritten; + internal __IntPtr conversionFunction; + internal byte path_empty; + internal uint path_size; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ImplicitCastExpr(global::CppSharp.Parser.AST.ImplicitCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitCastExpr.__Internal)); + __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.Sequential, Size = 136)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.AST.CastKind castKind; + internal __IntPtr subExpr; + internal __IntPtr castKindName; + internal __IntPtr subExprAsWritten; + internal __IntPtr conversionFunction; + internal byte path_empty; + internal uint path_size; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public ExplicitCastExpr(global::CppSharp.Parser.AST.ExplicitCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExplicitCastExpr.__Internal)); + __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.Sequential, Size = 144)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.AST.CastKind castKind; + internal __IntPtr subExpr; + internal __IntPtr castKindName; + internal __IntPtr subExprAsWritten; + internal __IntPtr conversionFunction; + internal byte path_empty; + internal uint path_size; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CStyleCastExpr(global::CppSharp.Parser.AST.CStyleCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CStyleCastExpr.__Internal)); + __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.Sequential, Size = 144)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + internal __IntPtr lHS; + 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; + internal byte isPtrMemOp; + internal byte isMultiplicativeOp; + internal byte isAdditiveOp; + internal byte isShiftOp; + internal byte isBitwiseOp; + internal byte isRelationalOp; + internal byte isEqualityOp; + internal byte isComparisonOp; + internal byte isLogicalOp; + internal byte isAssignmentOp; + internal byte isCompoundAssignmentOp; + internal byte isShiftAssignOp; + internal byte isFPContractableWithinStatement; + 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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BinaryOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public BinaryOperator(global::CppSharp.Parser.AST.BinaryOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryOperator.__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); + } + + 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) + Marshal.FreeHGlobal(__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 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 + { + 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 unsafe partial class CompoundAssignOperator : global::CppSharp.Parser.AST.BinaryOperator, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 176)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + internal global::CppSharp.Parser.AST.BinaryOperatorKind opcode; + internal __IntPtr lHS; + 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; + internal byte isPtrMemOp; + internal byte isMultiplicativeOp; + internal byte isAdditiveOp; + internal byte isShiftOp; + internal byte isBitwiseOp; + internal byte isRelationalOp; + internal byte isEqualityOp; + internal byte isComparisonOp; + internal byte isLogicalOp; + internal byte isAssignmentOp; + internal byte isCompoundAssignmentOp; + internal byte isShiftAssignOp; + internal byte isFPContractableWithinStatement; + internal byte isFEnvAccessOn; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal computationLHSType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CompoundAssignOperator(global::CppSharp.Parser.AST.CompoundAssignOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CompoundAssignOperator.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 112)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr cond; + internal __IntPtr trueExpr; + internal __IntPtr falseExpr; + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public AbstractConditionalOperator(global::CppSharp.Parser.AST.AbstractConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AbstractConditionalOperator.__Internal)); + __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.Sequential, Size = 128)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr cond; + internal __IntPtr trueExpr; + internal __IntPtr falseExpr; + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + internal __IntPtr lHS; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ConditionalOperator(global::CppSharp.Parser.AST.ConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConditionalOperator.__Internal)); + __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.Sequential, Size = 128)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr cond; + internal __IntPtr trueExpr; + internal __IntPtr falseExpr; + internal global::CppSharp.Parser.SourceLocation.__Internal questionLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal colonLoc; + internal __IntPtr common; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BinaryConditionalOperator(global::CppSharp.Parser.AST.BinaryConditionalOperator _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BinaryConditionalOperator.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal ampAmpLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AddrLabelExpr(global::CppSharp.Parser.AST.AddrLabelExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AddrLabelExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr subStmt; + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public StmtExpr(global::CppSharp.Parser.AST.StmtExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.StmtExpr.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ShuffleVectorExpr(global::CppSharp.Parser.AST.ShuffleVectorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ShuffleVectorExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr srcExpr; + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ConvertVectorExpr(global::CppSharp.Parser.AST.ConvertVectorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ConvertVectorExpr.__Internal)); + __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.Sequential, Size = 128)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal byte isConditionTrue; + internal __IntPtr cond; + internal __IntPtr lHS; + internal __IntPtr rHS; + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + internal byte isConditionDependent; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ChooseExpr(global::CppSharp.Parser.AST.ChooseExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ChooseExpr.__Internal)); + __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.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public GNUNullExpr(global::CppSharp.Parser.AST.GNUNullExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GNUNullExpr.__Internal)); + __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.Sequential, Size = 104)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr subExpr; + internal byte isMicrosoftABI; + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public VAArgExpr(global::CppSharp.Parser.AST.VAArgExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.VAArgExpr.__Internal)); + __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.Sequential, Size = 136)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr arrayFiller; + internal global::CppSharp.Parser.SourceLocation.__Internal lBraceLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rBraceLoc; + internal __IntPtr syntacticForm; + internal uint numInits; + internal byte hasArrayFiller; + internal byte isExplicit; + internal byte isStringLiteralInit; + internal byte isTransparent; + internal byte isSemanticForm; + internal __IntPtr semanticForm; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public InitListExpr(global::CppSharp.Parser.AST.InitListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.InitListExpr.__Internal)); + __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.Sequential, Size = 112)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal equalOrColonLoc; + internal __IntPtr init; + internal uint size; + internal byte usesGNUSyntax; + internal uint numSubExprs; + 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.Sequential, Size = 48)] + public partial struct __Internal + { + internal __IntPtr field; + internal byte isFieldDesignator; + internal byte isArrayDesignator; + internal byte isArrayRangeDesignator; + internal global::CppSharp.Parser.SourceLocation.__Internal dotLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal fieldLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal lBracketLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + internal uint firstExprIndex; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public Designator(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.Designator.__Internal)); + __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) + Marshal.FreeHGlobal(__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.Sequential, 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FieldDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.FieldDesignator.__Internal)); + __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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class ArrayOrRangeDesignator : IDisposable + { + [StructLayout(LayoutKind.Sequential, 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ArrayOrRangeDesignator(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.ArrayOrRangeDesignator.__Internal)); + __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) + Marshal.FreeHGlobal(__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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DesignatedInitExpr(global::CppSharp.Parser.AST.DesignatedInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitExpr.__Internal)); + __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.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public NoInitExpr(global::CppSharp.Parser.AST.NoInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.NoInitExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr @base; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DesignatedInitUpdateExpr(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DesignatedInitUpdateExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr commonExpr; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ArrayInitLoopExpr(global::CppSharp.Parser.AST.ArrayInitLoopExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitLoopExpr.__Internal)); + __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.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ArrayInitIndexExpr(global::CppSharp.Parser.AST.ArrayInitIndexExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayInitIndexExpr.__Internal)); + __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.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ImplicitValueInitExpr(global::CppSharp.Parser.AST.ImplicitValueInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ImplicitValueInitExpr.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal uint numExprs; + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ParenListExpr(global::CppSharp.Parser.AST.ParenListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ParenListExpr.__Internal)); + __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.Sequential, Size = 120)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal uint numAssocs; + internal global::CppSharp.Parser.SourceLocation.__Internal genericLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal defaultLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + internal __IntPtr controllingExpr; + internal byte isResultDependent; + internal uint resultIndex; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public GenericSelectionExpr(global::CppSharp.Parser.AST.GenericSelectionExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.GenericSelectionExpr.__Internal)); + __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.Sequential, Size = 104)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr @base; + internal global::CppSharp.Parser.SourceLocation.__Internal accessorLoc; + internal uint numElements; + internal byte containsDuplicateElements; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ExtVectorElementExpr(global::CppSharp.Parser.AST.ExtVectorElementExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExtVectorElementExpr.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal caretLocation; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public BlockExpr(global::CppSharp.Parser.AST.BlockExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.BlockExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr srcExpr; + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AsTypeExpr(global::CppSharp.Parser.AST.AsTypeExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AsTypeExpr.__Internal)); + __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.Sequential, Size = 112)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr syntacticForm; + internal uint resultExprIndex; + internal __IntPtr resultExpr; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public PseudoObjectExpr(global::CppSharp.Parser.AST.PseudoObjectExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PseudoObjectExpr.__Internal)); + __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.Sequential, Size = 176)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr ptr; + internal __IntPtr order; + internal __IntPtr scope; + internal __IntPtr val1; + internal __IntPtr orderFail; + internal __IntPtr val2; + internal __IntPtr weak; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal valueType; + internal global::CppSharp.Parser.AST.AtomicExpr.AtomicOp op; + internal uint numSubExprs; + internal byte isVolatile; + internal byte isCmpXChg; + internal byte isOpenCL; + internal global::CppSharp.Parser.SourceLocation.__Internal builtinLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public AtomicExpr(global::CppSharp.Parser.AST.AtomicExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.AtomicExpr.__Internal)); + __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.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TypoExpr(global::CppSharp.Parser.AST.TypoExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypoExpr.__Internal)); + __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.Sequential, Size = 168)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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; + internal __IntPtr callee; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + internal __IntPtr calleeDecl; + internal __IntPtr directCallee; + internal uint numArgs; + internal uint numCommas; + internal uint builtinCallee; + internal byte isCallToStdMove; + internal global::CppSharp.Parser.AST.OverloadedOperatorKind _operator; + internal byte isAssignmentOp; + internal byte isInfixBinaryOp; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXOperatorCallExpr(global::CppSharp.Parser.AST.CXXOperatorCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXOperatorCallExpr.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 168)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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; + internal __IntPtr callee; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + internal __IntPtr calleeDecl; + internal __IntPtr directCallee; + internal uint numArgs; + internal uint numCommas; + internal uint builtinCallee; + internal byte isCallToStdMove; + internal __IntPtr implicitObjectArgument; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXMemberCallExpr(global::CppSharp.Parser.AST.CXXMemberCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXMemberCallExpr.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 160)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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; + internal __IntPtr callee; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + internal __IntPtr calleeDecl; + internal __IntPtr directCallee; + internal uint numArgs; + internal uint numCommas; + internal uint builtinCallee; + internal byte isCallToStdMove; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CUDAKernelCallExpr(global::CppSharp.Parser.AST.CUDAKernelCallExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CUDAKernelCallExpr.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 160)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.AST.CastKind castKind; + internal __IntPtr subExpr; + internal __IntPtr castKindName; + internal __IntPtr subExprAsWritten; + internal __IntPtr conversionFunction; + internal byte path_empty; + internal uint path_size; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + internal __IntPtr castName; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public CXXNamedCastExpr(global::CppSharp.Parser.AST.CXXNamedCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNamedCastExpr.__Internal)); + __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.Sequential, Size = 160)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.AST.CastKind castKind; + internal __IntPtr subExpr; + internal __IntPtr castKindName; + internal __IntPtr subExprAsWritten; + internal __IntPtr conversionFunction; + internal byte path_empty; + internal uint path_size; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + internal __IntPtr castName; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXStaticCastExpr(global::CppSharp.Parser.AST.CXXStaticCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStaticCastExpr.__Internal)); + __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.Sequential, Size = 168)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.AST.CastKind castKind; + internal __IntPtr subExpr; + internal __IntPtr castKindName; + internal __IntPtr subExprAsWritten; + internal __IntPtr conversionFunction; + internal byte path_empty; + internal uint path_size; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + internal __IntPtr castName; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + internal global::CppSharp.Parser.SourceRange.__Internal angleBrackets; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXDynamicCastExpr(global::CppSharp.Parser.AST.CXXDynamicCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDynamicCastExpr.__Internal)); + __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.Sequential, Size = 160)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.AST.CastKind castKind; + internal __IntPtr subExpr; + internal __IntPtr castKindName; + internal __IntPtr subExprAsWritten; + internal __IntPtr conversionFunction; + internal byte path_empty; + internal uint path_size; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + internal __IntPtr castName; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXReinterpretCastExpr(global::CppSharp.Parser.AST.CXXReinterpretCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXReinterpretCastExpr.__Internal)); + __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.Sequential, Size = 160)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.AST.CastKind castKind; + internal __IntPtr subExpr; + internal __IntPtr castKindName; + internal __IntPtr subExprAsWritten; + internal __IntPtr conversionFunction; + internal byte path_empty; + internal uint path_size; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + internal __IntPtr castName; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXConstCastExpr(global::CppSharp.Parser.AST.CXXConstCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstCastExpr.__Internal)); + __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.Sequential, Size = 176)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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; + internal __IntPtr callee; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + internal __IntPtr calleeDecl; + internal __IntPtr directCallee; + internal uint numArgs; + internal uint numCommas; + internal uint builtinCallee; + internal byte isCallToStdMove; + internal global::CppSharp.Parser.AST.UserDefinedLiteral.LiteralOperatorKind literalOperatorKind; + internal __IntPtr cookedLiteral; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UserDefinedLiteral(global::CppSharp.Parser.AST.UserDefinedLiteral _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UserDefinedLiteral.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal byte value; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXBoolLiteralExpr(global::CppSharp.Parser.AST.CXXBoolLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBoolLiteralExpr.__Internal)); + __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.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXNullPtrLiteralExpr(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNullPtrLiteralExpr.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXStdInitializerListExpr(global::CppSharp.Parser.AST.CXXStdInitializerListExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXStdInitializerListExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr exprOperand; + internal byte isPotentiallyEvaluated; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXTypeidExpr(global::CppSharp.Parser.AST.CXXTypeidExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTypeidExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal byte isImplicitAccess; + internal __IntPtr baseExpr; + internal byte isArrow; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MSPropertyRefExpr(global::CppSharp.Parser.AST.MSPropertyRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertyRefExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal rBracketLoc; + internal __IntPtr @base; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MSPropertySubscriptExpr(global::CppSharp.Parser.AST.MSPropertySubscriptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MSPropertySubscriptExpr.__Internal)); + __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.Sequential, Size = 120)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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; + 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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXUuidofExpr(global::CppSharp.Parser.AST.CXXUuidofExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUuidofExpr.__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); + } + + 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) + Marshal.FreeHGlobal(__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 string UuidStr + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->uuidStr)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->uuidStr), value); + } + } + + public bool IsTypeOperand + { + get + { + return ((__Internal*)__Instance)->isTypeOperand != 0; + } + + set + { + ((__Internal*)__Instance)->isTypeOperand = (byte) (value ? 1 : 0); + } + } + } + + public unsafe partial class CXXThisExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXThisExpr(global::CppSharp.Parser.AST.CXXThisExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThisExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr subExpr; + internal global::CppSharp.Parser.SourceLocation.__Internal throwLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXThrowExpr(global::CppSharp.Parser.AST.CXXThrowExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXThrowExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr expr; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXDefaultArgExpr(global::CppSharp.Parser.AST.CXXDefaultArgExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultArgExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr field; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXDefaultInitExpr(global::CppSharp.Parser.AST.CXXDefaultInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDefaultInitExpr.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXBindTemporaryExpr(global::CppSharp.Parser.AST.CXXBindTemporaryExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXBindTemporaryExpr.__Internal)); + __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.Sequential, Size = 128)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal byte elidable; + internal byte hadMultipleCandidates; + internal byte listInitialization; + internal byte stdInitListInitialization; + internal byte requiresZeroInitialization; + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public CXXConstructExpr(global::CppSharp.Parser.AST.CXXConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXConstructExpr.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal byte constructsVBase; + internal byte inheritedFromVBase; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXInheritedCtorInitExpr(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXInheritedCtorInitExpr.__Internal)); + __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.Sequential, Size = 152)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.AST.CastKind castKind; + internal __IntPtr subExpr; + internal __IntPtr castKindName; + internal __IntPtr subExprAsWritten; + internal __IntPtr conversionFunction; + internal byte path_empty; + internal uint path_size; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXFunctionalCastExpr(global::CppSharp.Parser.AST.CXXFunctionalCastExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFunctionalCastExpr.__Internal)); + __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.Sequential, Size = 128)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal byte elidable; + internal byte hadMultipleCandidates; + internal byte listInitialization; + internal byte stdInitListInitialization; + internal byte requiresZeroInitialization; + internal global::CppSharp.Parser.SourceRange.__Internal parenOrBraceRange; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXTemporaryObjectExpr(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXTemporaryObjectExpr.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + public unsafe partial class LambdaExpr : global::CppSharp.Parser.AST.Expr, IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 152)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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; + internal global::CppSharp.Parser.SourceLocation.__Internal captureDefaultLoc; + internal uint capture_size; + internal global::CppSharp.Parser.SourceRange.__Internal introducerRange; + internal __IntPtr callOperator; + internal byte isGenericLambda; + internal __IntPtr body; + internal byte isMutable; + internal byte hasExplicitParameters; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public LambdaExpr(global::CppSharp.Parser.AST.LambdaExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.LambdaExpr.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXScalarValueInitExpr(global::CppSharp.Parser.AST.CXXScalarValueInitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXScalarValueInitExpr.__Internal)); + __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.Sequential, Size = 200)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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; + internal __IntPtr operatorNew; + internal __IntPtr operatorDelete; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal allocatedType; + internal byte isArray; + internal __IntPtr arraySize; + internal uint numPlacementArgs; + internal byte isParenTypeId; + internal global::CppSharp.Parser.SourceRange.__Internal typeIdParens; + internal byte isGlobalNew; + internal byte hasInitializer; + internal global::CppSharp.Parser.AST.CXXNewExpr.InitializationStyle initializationStyle; + internal __IntPtr initializer; + internal __IntPtr constructExpr; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXNewExpr(global::CppSharp.Parser.AST.CXXNewExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNewExpr.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 112)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal byte isGlobalDelete; + internal byte isArrayForm; + internal byte isArrayFormAsWritten; + internal __IntPtr operatorDelete; + internal __IntPtr argument; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXDeleteExpr(global::CppSharp.Parser.AST.CXXDeleteExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDeleteExpr.__Internal)); + __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.Sequential, Size = 128)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr @base; + internal byte hasQualifier; + internal byte isArrow; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal colonColonLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal tildeLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal destroyedType; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXPseudoDestructorExpr(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXPseudoDestructorExpr.__Internal)); + __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.Sequential, Size = 80)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal byte value; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public TypeTraitExpr(global::CppSharp.Parser.AST.TypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.TypeTraitExpr.__Internal)); + __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.Sequential, Size = 112)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal queriedType; + internal ulong value; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ArrayTypeTraitExpr(global::CppSharp.Parser.AST.ArrayTypeTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ArrayTypeTraitExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr queriedExpression; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ExpressionTraitExpr(global::CppSharp.Parser.AST.ExpressionTraitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExpressionTraitExpr.__Internal)); + __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.Sequential, Size = 104)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal uint numDecls; + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + internal byte hasTemplateKeyword; + internal byte hasExplicitTemplateArgs; + 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.Sequential, 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FindResult(global::CppSharp.Parser.AST.OverloadExpr.FindResult _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.FindResult.__Internal)); + __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) + Marshal.FreeHGlobal(__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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public OverloadExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public OverloadExpr(global::CppSharp.Parser.AST.OverloadExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.OverloadExpr.__Internal)); + __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.Sequential, Size = 112)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal uint numDecls; + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + internal byte hasTemplateKeyword; + internal byte hasExplicitTemplateArgs; + internal uint numTemplateArgs; + internal byte requiresADL; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnresolvedLookupExpr(global::CppSharp.Parser.AST.UnresolvedLookupExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedLookupExpr.__Internal)); + __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.Sequential, Size = 104)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal location; + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + internal byte hasTemplateKeyword; + internal byte hasExplicitTemplateArgs; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DependentScopeDeclRefExpr(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentScopeDeclRefExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr subExpr; + internal uint numObjects; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ExprWithCleanups(global::CppSharp.Parser.AST.ExprWithCleanups _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.ExprWithCleanups.__Internal)); + __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.Sequential, Size = 136)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + 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; + internal global::CppSharp.Parser.SourceLocation.__Internal lParenLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal typeAsWritten; + internal byte isListInitialization; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXUnresolvedConstructExpr(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXUnresolvedConstructExpr.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, Size = 144)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal byte isImplicitAccess; + internal __IntPtr @base; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + internal byte isArrow; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + internal __IntPtr firstQualifierFoundInScope; + internal global::CppSharp.Parser.SourceLocation.__Internal memberLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + internal byte hasTemplateKeyword; + internal byte hasExplicitTemplateArgs; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXDependentScopeMemberExpr(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXDependentScopeMemberExpr.__Internal)); + __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.Sequential, Size = 152)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal uint numDecls; + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal templateKeywordLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal lAngleLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rAngleLoc; + internal byte hasTemplateKeyword; + internal byte hasExplicitTemplateArgs; + internal uint numTemplateArgs; + internal byte isImplicitAccess; + internal __IntPtr @base; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal baseType; + internal byte hasUnresolvedUsing; + internal byte isArrow; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public UnresolvedMemberExpr(global::CppSharp.Parser.AST.UnresolvedMemberExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.UnresolvedMemberExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr operand; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXNoexceptExpr(global::CppSharp.Parser.AST.CXXNoexceptExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXNoexceptExpr.__Internal)); + __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.Sequential, Size = 96)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr pattern; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public PackExpansionExpr(global::CppSharp.Parser.AST.PackExpansionExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.PackExpansionExpr.__Internal)); + __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.Sequential, Size = 104)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal operatorLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal packLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal rParenLoc; + internal __IntPtr pack; + internal uint packLength; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SizeOfPackExpr(global::CppSharp.Parser.AST.SizeOfPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SizeOfPackExpr.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal nameLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SubstNonTypeTemplateParmExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmExpr.__Internal)); + __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.Sequential, Size = 120)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public SubstNonTypeTemplateParmPackExpr(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.SubstNonTypeTemplateParmPackExpr.__Internal)); + __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.Sequential, Size = 88)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal parameterPackLocation; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public FunctionParmPackExpr(global::CppSharp.Parser.AST.FunctionParmPackExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.FunctionParmPackExpr.__Internal)); + __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.Sequential, Size = 104)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr temporary; + internal __IntPtr TemporaryExpr; + internal uint manglingNumber; + 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.Sequential, 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ExtraState(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.ExtraState.__Internal)); + __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) + Marshal.FreeHGlobal(__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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public MaterializeTemporaryExpr(global::CppSharp.Parser.AST.MaterializeTemporaryExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.MaterializeTemporaryExpr.__Internal)); + __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.Sequential, Size = 128)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr lHS; + internal __IntPtr rHS; + internal byte isRightFold; + internal byte isLeftFold; + internal __IntPtr pattern; + internal __IntPtr init; + internal global::CppSharp.Parser.SourceLocation.__Internal ellipsisLoc; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CXXFoldExpr(global::CppSharp.Parser.AST.CXXFoldExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CXXFoldExpr.__Internal)); + __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.Sequential, Size = 120)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + internal __IntPtr commonExpr; + internal __IntPtr opaqueValue; + internal __IntPtr readyExpr; + internal __IntPtr suspendExpr; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.StmtClass klass) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance, klass); + } + + public CoroutineSuspendExpr(global::CppSharp.Parser.AST.CoroutineSuspendExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoroutineSuspendExpr.__Internal)); + __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.Sequential, Size = 136)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + internal __IntPtr commonExpr; + internal __IntPtr opaqueValue; + internal __IntPtr readyExpr; + internal __IntPtr suspendExpr; + internal __IntPtr resumeExpr; + internal byte isImplicit; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CoawaitExpr(global::CppSharp.Parser.AST.CoawaitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoawaitExpr.__Internal)); + __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.Sequential, Size = 104)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal __IntPtr operand; + internal __IntPtr operatorCoawaitLookup; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public DependentCoawaitExpr(global::CppSharp.Parser.AST.DependentCoawaitExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.DependentCoawaitExpr.__Internal)); + __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.Sequential, Size = 128)] + public new partial struct __Internal + { + internal global::CppSharp.Parser.AST.StmtClass stmtClass; + internal global::CppSharp.Parser.SourceRange.__Internal sourceRange; + internal global::CppSharp.Parser.SourceLocation.__Internal beginLoc; + internal global::CppSharp.Parser.SourceLocation.__Internal endLoc; + internal global::CppSharp.Parser.AST.QualifiedType.__Internal type; + internal byte valueDependent; + internal byte typeDependent; + internal byte instantiationDependent; + internal byte containsUnexpandedParameterPack; + internal global::CppSharp.Parser.SourceLocation.__Internal exprLoc; + internal byte isLValue; + internal byte isRValue; + internal byte isXValue; + internal byte isGLValue; + internal byte isOrdinaryOrBitFieldObject; + internal __IntPtr sourceBitField; + internal __IntPtr referencedDeclOfCallee; + internal byte hasPlaceholderType; + internal global::CppSharp.Parser.SourceLocation.__Internal keywordLoc; + internal __IntPtr commonExpr; + internal __IntPtr opaqueValue; + internal __IntPtr readyExpr; + internal __IntPtr suspendExpr; + internal __IntPtr resumeExpr; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CoyieldExpr(global::CppSharp.Parser.AST.CoyieldExpr _0) + : this((void*) null) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.AST.CoyieldExpr.__Internal)); + __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.Sequential, Size = 184)] + 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 ABI; + internal global::CppSharp.Parser.ParserIntType char16Type; + internal global::CppSharp.Parser.ParserIntType char32Type; + internal global::CppSharp.Parser.ParserIntType int64Type; + internal global::CppSharp.Parser.ParserIntType intMaxType; + internal global::CppSharp.Parser.ParserIntType intPtrType; + internal global::CppSharp.Parser.ParserIntType sizeType; + internal global::CppSharp.Parser.ParserIntType uIntMaxType; + internal global::CppSharp.Parser.ParserIntType wCharType; + internal global::CppSharp.Parser.ParserIntType wIntType; + internal uint boolAlign; + internal uint boolWidth; + internal uint charAlign; + internal uint charWidth; + internal uint char16Align; + internal uint char16Width; + internal uint char32Align; + internal uint char32Width; + internal uint halfAlign; + internal uint halfWidth; + internal uint floatAlign; + internal uint floatWidth; + internal uint doubleAlign; + internal uint doubleWidth; + internal uint shortAlign; + internal uint shortWidth; + internal uint intAlign; + internal uint intWidth; + internal uint intMaxTWidth; + internal uint longAlign; + internal uint longWidth; + internal uint longDoubleAlign; + internal uint longDoubleWidth; + internal uint longLongAlign; + internal uint longLongWidth; + internal uint pointerAlign; + internal uint pointerWidth; + internal uint wCharAlign; + internal uint wCharWidth; + internal uint float128Align; + 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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserTargetInfo.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ParserTargetInfo(global::CppSharp.Parser.ParserTargetInfo _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserTargetInfo.__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); + } + + 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) + Marshal.FreeHGlobal(__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 + { + 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; + } + } + } + } +} + +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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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.Sequential, Size = 288)] + public partial struct __Internal + { + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + 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; + internal __IntPtr ASTContext; + 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; + internal byte noStandardIncludes; + internal byte noBuiltinIncludes; + internal byte microsoftMode; + internal byte verbose; + internal byte unityBuild; + internal byte skipPrivateDeclarations; + internal byte skipLayoutInfo; + 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 __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 void GetClangVersion(__IntPtr @return, __IntPtr __instance); + + [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 = "_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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppParserOptions.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CppParserOptions(global::CppSharp.Parser.CppParserOptions _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppParserOptions.__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); + } + + 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) + Marshal.FreeHGlobal(__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 string TargetTriple + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->targetTriple)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->targetTriple), 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 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; + } + } + + public uint ArgumentsCount + { + get + { + var ___ret = __Internal.GetArgumentsCount(__Instance); + return ___ret; + } + } + + public uint CompilationOptionsCount + { + get + { + var ___ret = __Internal.GetCompilationOptionsCount(__Instance); + return ___ret; + } + } + + 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 unsafe partial class CppLinkerOptions : IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 72)] + public partial struct __Internal + { + 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; + 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; + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppLinkerOptions.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public CppLinkerOptions(global::CppSharp.Parser.CppLinkerOptions _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.CppLinkerOptions.__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); + } + + 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) + Marshal.FreeHGlobal(__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.Sequential, 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; + internal global::CppSharp.Parser.ParserDiagnosticLevel level; + internal int lineNumber; + 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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserDiagnostic.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ParserDiagnostic(global::CppSharp.Parser.ParserDiagnostic _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserDiagnostic.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public string FileName + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->fileName)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->fileName), value); + } + } + + public string Message + { + get + { + var __basicStringRet0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(new __IntPtr(&((__Internal*)__Instance)->message)); + return global::Std.BasicStringExtensions.Data(__basicStringRet0); + } + + set + { + global::Std.BasicStringExtensions.__Internal.Assign(new __IntPtr(&((__Internal*)__Instance)->message), value); + } + } + + 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 unsafe partial class ParserResult : IDisposable + { + [StructLayout(LayoutKind.Sequential, Size = 64)] + public partial struct __Internal + { + internal global::CppSharp.Parser.ParserResultKind kind; + 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; + 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; + 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 void GetDiagnostics(__IntPtr @return, __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 = Marshal.AllocHGlobal(sizeof(__Internal)); + 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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserResult.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + __Internal.ctor(__Instance); + } + + public ParserResult(global::CppSharp.Parser.ParserResult _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ParserResult.__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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + + public global::CppSharp.Parser.ParserDiagnostic GetDiagnostics(uint i) + { + var ___ret = new global::CppSharp.Parser.ParserDiagnostic.__Internal(); + __Internal.GetDiagnostics(new IntPtr(&___ret), __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.Sequential, 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_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 = "_ZN8CppSharp9CppParser11ClangParser7CompileEPNS0_16CppParserOptionsERKNSt3__112basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEE", CallingConvention = __CallingConvention.Cdecl)] + internal static extern __IntPtr Compile(__IntPtr Opts, __IntPtr 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); + } + + 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 = Marshal.AllocHGlobal(sizeof(__Internal)); + *(__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 = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ClangParser.__Internal)); + __ownsNativeInstance = true; + __RecordNativeToManagedMapping(__Instance, this); + } + + public ClangParser(global::CppSharp.Parser.ClangParser _0) + { + __Instance = Marshal.AllocHGlobal(sizeof(global::CppSharp.Parser.ClangParser.__Internal)); + __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) + Marshal.FreeHGlobal(__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 __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 __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 __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 __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 __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 __result0 = global::CppSharp.Parser.ParserResult.__GetOrCreateInstance(___ret, false); + return __result0; + } + } + } +} + +namespace Std +{ + namespace CompressedPair + { + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + 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_S___value_type__S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_N___1_S_less__S1__Vb1 + { + 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_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_ + { + internal global::Std.TreeEndNode.__Internal_Ptr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __value_; + } + } + +} +namespace Std +{ + namespace Vector + { + [StructLayout(LayoutKind.Sequential, 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_N___1_S_allocator__S0_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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)] + 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_ + { + internal __IntPtr __begin_; + internal __IntPtr __end_; + 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.Sequential, 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_ + { + 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_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_; + 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.Sequential, 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_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/arm64-apple-darwin12.4.0/Std-symbols.cpp b/src/CppParser/Bindings/CSharp/arm64-apple-darwin12.4.0/Std-symbols.cpp new file mode 100644 index 000000000..26e5ae164 --- /dev/null +++ b/src/CppParser/Bindings/CSharp/arm64-apple-darwin12.4.0/Std-symbols.cpp @@ -0,0 +1,11 @@ +#define _LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS +#define _LIBCPP_HIDE_FROM_ABI + +#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/arm64-apple-darwin12.4.0/Std.cs b/src/CppParser/Bindings/CSharp/arm64-apple-darwin12.4.0/Std.cs new file mode 100644 index 000000000..dc580d289 --- /dev/null +++ b/src/CppParser/Bindings/CSharp/arm64-apple-darwin12.4.0/Std.cs @@ -0,0 +1,568 @@ +// ---------------------------------------------------------------------------- +// +// 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 __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.Sequential, 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 = Marshal.AllocHGlobal(sizeof(global::Std.CharTraits.__Internal)); + *(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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } +} + +namespace Std +{ +} + +namespace Std +{ +} + +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_; + } + + [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 + { + [StructLayout(LayoutKind.Sequential, 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 = Marshal.AllocHGlobal(sizeof(global::Std.Allocator.__Internal)); + *(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 = 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); + } + + 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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } +} + +namespace Std +{ + namespace BasicString + { + [StructLayout(LayoutKind.Sequential, 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 + { + 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); + } + + 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.Sequential, Size = 24)] + public unsafe partial struct __Internal + { + internal __IntPtr __data_; + internal ulong __size_; + internal ulong __cap_; + 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.Sequential, Size = 24)] + public unsafe partial struct __Internal + { + 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 = 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)); + *(global::Std.BasicString.__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 = 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)); + __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) + Marshal.FreeHGlobal(__Instance); + __Instance = IntPtr.Zero; + } + } + + 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_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; + var ___ret = __Internal.Data(__arg0); + return CppSharp.Runtime.MarshalUtil.GetString(global::System.Text.Encoding.UTF8, ___ret); + } + } +} + +namespace Std +{ + namespace Vector + { + [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_ + { + 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_; + } + + [StructLayout(LayoutKind.Sequential, Size = 24)] + public unsafe partial struct __Internalc__N_std_N___1_S_vector__i___N_std_N___1_S_allocator__i + { + 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_; + } + } +} + +namespace Std +{ + namespace TreeEndNode + { + [StructLayout(LayoutKind.Sequential, Size = 8)] + public unsafe partial struct __Internal_Ptr + { + internal __IntPtr __left_; + } + } +} + +namespace Std +{ +} diff --git a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs index c12579c6c..b24d99f31 100644 --- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs +++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/CppSharp.CppParser.cs @@ -42117,13 +42117,13 @@ public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair______N } [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 + 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 { 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_ + 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_ { internal global::Std.TreeEndNode.__Internal_Ptr __value_; } @@ -42493,11 +42493,11 @@ 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_ + 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_ { 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_; + 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_; + 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_; } } @@ -42509,7 +42509,7 @@ namespace Map [StructLayout(LayoutKind.Sequential, 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_; + 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/Std.cs b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs index f6c861347..4b8fa4bf2 100644 --- a/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs +++ b/src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs @@ -36,50 +36,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)] 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 +84,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 = Marshal.AllocHGlobal(sizeof(global::Std.CharTraits.__Internal)); + *(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); @@ -168,65 +151,65 @@ 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_ + 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_; + 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.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 __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_; + internal __IntPtr __value_; } - } -} -namespace Std -{ - namespace TreeEndNode - { [StructLayout(LayoutKind.Sequential, Size = 4)] - public unsafe partial struct __Internal_Ptr + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair___i___N_std_N___1_S_allocator__i { - internal __IntPtr __left_; + internal __IntPtr __value_; } } } namespace Std { -} - -namespace Std -{ - namespace CharTraits + namespace Allocator { [StructLayout(LayoutKind.Sequential, 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 +217,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 = Marshal.AllocHGlobal(sizeof(global::Std.Allocator.__Internal)); + *(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 = 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); @@ -308,7 +305,7 @@ public unsafe partial struct __Internalc__N_std_N___1_S_basic_string__C___N_std_ { 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)] @@ -351,14 +348,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 +386,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 +404,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_; } } @@ -522,7 +544,7 @@ 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); } @@ -542,3 +564,41 @@ public static string Data(this global::Std.BasicString : 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 +84,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 = Marshal.AllocHGlobal(sizeof(global::Std.CharTraits.__Internal)); + *(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); @@ -168,65 +151,65 @@ 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_ + 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_; + 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.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 __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_; + internal __IntPtr __value_; } - } -} -namespace Std -{ - namespace TreeEndNode - { [StructLayout(LayoutKind.Sequential, Size = 8)] - public unsafe partial struct __Internal_Ptr + public unsafe partial struct __Internalc__N_std_N___1_S___compressed_pair___i___N_std_N___1_S_allocator__i { - internal __IntPtr __left_; + internal __IntPtr __value_; } } } namespace Std { -} - -namespace Std -{ - namespace CharTraits + namespace Allocator { [StructLayout(LayoutKind.Sequential, 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 +217,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 = Marshal.AllocHGlobal(sizeof(global::Std.Allocator.__Internal)); + *(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 = 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); @@ -308,7 +305,7 @@ public unsafe partial struct __Internalc__N_std_N___1_S_basic_string__C___N_std_ { 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)] @@ -351,14 +348,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 +386,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 +404,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_; } } @@ -522,7 +544,7 @@ 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); } @@ -542,3 +564,41 @@ public static string Data(this global::Std.BasicString